C练习题_3

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。

  1. 以下正确的C语言自定义标识符是()

A. la
B. 2a

C. do
D. a.12

2.在C语言中,错误的常数表示是()

A. OL
B. 0x6aL
C. ‘6’
D. 1.234E3.5

3.设 int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是()

A. 1
B. 2
C. 6
D. 10

  1. 设有以下程序段:
    int x=2,y-2,z-0,a;
    a=++x||+y&&z++;
    printf(“%d,%d,%dln”,x,y,z);
    执行后输出的结果是()

A. 2, 2, 0
B. 3, 3, 1
C. 3, 2, 0
D. 3, 2, 1

5.在C语言中,字符串"\TOP\t\65"的长度是()

A. 5
B. 7
C. 9
D. 12

6·设float x;,由键盘输入: 12.45,能正确读入数据的输入语句是()

A. scanf(“%5f”,&x);
B. scanf(“%5d”,&x);
C. scanf(“%f”,x);
D.scanf(“%s”,&x)

7·逗号表达式a=26,a3,a*5的值是()

A. 12
B. 60
C. 36
D. 41

  1. C语言表达式3.26*exp(x)+(a+b)/3所表示的数学表达式是()

C练习题_3_第1张图片
9.在C语言中,下列运算符中结合性属于自右向左的是()
A.&&
B.-
C.<<
D. ->

10.设int (*p) [4];,则p的含义是()

A. 指向整型变量的指针数组
B.指向4个整型变量的函数指针৪
C. 4个指向整型变量的指针变量s
D.指向具有4个整型元素的一维数组的指针

  1. charx00-gwdows",“dos”,“unix”);,执行pintf(“%c”,x[1][2]);后输出的结果是()

A.n
b.i
c.o
d.s

12,设 inta[4][3]-{1,2,3,4,5,6,7,8,9,10,11,12);int (* ptr)[3]=a,*p=a[0];,则与数组元素a[1][2]等价的是()

A.((p+2) +3)
B.
(* (p+3))
C. (*ptr+1) +2
D. *((ptr+1)[2])

13,设int a-11,b=2;,执行下述程序段后,变量a和b的值分别是(do { a/=b++;} while(a>b);

A. 1,3
B. 1,4
C. 2,3
D. 2,4

14,在C语言中,下列错误的说法是()

A、函数可以递归调用
B. 不允许在函数中再定义函数
C.递归程序不可能用非递归算法实现
D.对于continue语句,可以通过改变程序的结构而不使用它

15、设 inta[2][3]={{1).(2,3)):,则元素a[1][0]的值是

A. 0
B. 1
C. 2
D. 3

16.C 语言结构体类型变量在程序执行期间()

A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在在内存中
D. 没有成员驻留在内存中


  1. struct student
    { char name[10]:
    int sex;
    int num;
    }s,*p=&s;
    以下对结构型变量s中成员num的非法引用是()

A. p->num
B. (*p).num
C. s.num
D. student.num

  1. 下列说法中正确的是()

A.C语言的预处理命令只有宏定义和文件包含
B.预处理命令只能出现在主函数之前
C.所有预处理命令都是以符号"#"开头
D.有些预处理命令不是在源程序编译之前处理

19,已有定义int(*p)():指针p可以()

A. 代表函数的返回值
B.指向函数的入口地址
C.表示函数的类型
D. 表示函数返回值的类型

20,下列属于文件包含的命令是()

A. #define N 25
B. #endif
C. #include “stdio.h”
D. #else

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结果填写在答题纸的相应位置上。)

#include"stdio.h"
void main(){
	int x=15;
	while(x<20)
	{
		x++;
		if(x/3!=0) {x++;break;}
		else continue;
		}
printf("%d\n",x);
}

2______

#include "stdio.h"
fun(int a[],int i,int j)
{
	int t;
	if(i<j)
	{
	t=a[i];a[i]=a[j];a[j]=t;
	i++j--;
	fun(a,i.j);
	}
}
void main()
{
int x0={2,4,6},i;
fun(x,0,2);
for(i=0;i<3;i++)
printf("\n");
}

3________

#include "stdio.h"
void main
{
	int a,b[10],c,i=0;
	printf("输入一个整数\n");
	scanf("%d",&a);
	while(a!=0)
	{
		c-a%2;
		a=a/2;
		b[i]-c;
		i++;
	}
	for(;i>0;i-)printf("%d",b[i-1]);
	}

4_______

#include 
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
 else return (2) ;}
 void main()
 { printf("%d",fib(5)); }

5________

#include "stdio.h"
int a=100;
void s0
{
	static int a=20;
	a++;
	printf("%dn",a);
	}
	void main
	{
		int i;
		for(i=1;i<=3;i++)
		{
		a++;
		printf("%d,",a);
		s0;
		}
	}

三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)
1,对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。

#iclude <stdio.h
#define No 10
void main()
{
int i,a[N]
for(i=N-1;_①;i-)
scanf("%d",_2);
for(i=0;i<N;i++) printf("%d\t",a[i]);
printf("n");
}

2,学生成绩的字母等级和分数范围如下:字母等级分数范围
A 90-100
B80-89
c 70-79
D 60-69
E 0-59
其它字母 输入错误

输入字母等级之后,输出相应的分数范围
#include
void main()
{
char score;
scanf(“%c”,&score);
switch(_____)
{
case ‘A’: printf(“A:90-100ln”);break;
case ‘B’: printf (“B:80-89ln”);break;
case ‘C’: printf (“C:70-79n”);break;
case D’: printf (“D:60-69n”);break;
case E’: printf (“E: 0-59n”);break;
②printf(“输入错误n”);
}
}

  1. 计算 Fibonacci 数列。
    #include “stdio.h”
    long Fib(int n);
    int main
    {
    int n, i, x;
    printf(“Input n: “);
    scanf(”%d”, &n);f
    or (i=l; i<=n; i++)
    {
    x=①;
    printf(“Fib(%d) = %d\n”, i, x);
    }
    return 0;
    }
    long Fib(int n)
    {
    if (n=0)
    return 0;
    else if(2)
    return 1;
    else
    return③;
    }

四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)1输入自变量x的值后,计算并输出y的值。

C练习题_3_第2张图片
2用循环结构输出下列数字金字塔(共9行)。
C练习题_3_第3张图片
3,某重点大学的博士入学考试科目为外语和两门专业课,对于每个考生信息有学号,姓名,现有10名考生,输入各科考试成绩,并计算总分。

你可能感兴趣的:(c语言,开发语言,河北专升本)