c语⾔考试题
1、若要⽤fopen函数打开⼀个新的⼆进制⽂件,该⽂件要既能读也能写,则⽂件⽅式字符串应是()。
A、"rb+"
B、"ab++"
C、"ab"
2、下⾯说法中错误的是( )。
A、共⽤体变量的地址和它各成员的地址都是同⼀地址
B、共⽤体内的成员可以是结构变量,反之亦然
C、函数可以返回⼀个共⽤体变量
D、在任⼀时刻,共⽤体变量的各成员只有⼀个有效
3、在定义构造数据类型时,不能()。
A、末尾不写分号
B、说明存储类型
C、初始化
D、说明变量
4、变量的指针,其含义是指该变量的()。
A、名
B、地址
C、⼀个标志
D、值
5、定义int a,x;,则能正确赋值的语句是( ).
A、a=(x=1,x++,x+2);
B、a="good";
C、a=(a[1]+a[2])/2;
D、a*=*a+1;
6、以下程序的输出结果是( ).
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A、4
B、3
C、1
D、2
7、以下叙述中正确的是(A)。
A、宏替换不占⽤运⾏时间,只占编译时间
B、使⽤带参的宏时,参数的类型应与宏定义时的⼀致
C、在程序的⼀⾏上可以出现多个有效的预处理命令⾏
D、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045
8,在C语⾔程序中(B)。
A、函数的定义可以嵌套,但函数的调⽤不可以嵌套
B、函数的定义不可以嵌套,但函数的调⽤可以嵌套
C、函数的定义和函数调⽤不可以嵌套
D、函数的定义和函数调⽤均可以嵌套
9.在C语⾔中,调⽤函数除函数名外,还必须有(A)。
A、( )
B、函数预说明
C、实际参数
D、函数返回值
10.以下对C语⾔函数的描述中,正确的是(B)。
A、C函数既可以嵌套定义⼜可以递归调⽤
B、C程序必须由⼀个或⼀个以上的函数组成
C、函数必须有返回值,否则不能使⽤函数
D、C程序中有调⽤关系的所有函数必须放在同⼀个程序⽂件中
11.以下函数的类型是(C )。
fff(float x)
{
return 5;
}
A、void 类型
B、与参数x的类型相同
C、int类型
D、⽆法确定
12.若有说明: int a[][4]={0,0};则下⾯不正确的叙述是(A)。
A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
B、数组a的每个元素都可得到初值0
C、⼆维数组a的第⼀维⼤⼩为1
D、因为⼆维数组a中第⼆维⼤⼩的值除经初值个数的商为1,故数组a的⾏数为1
13.以下对⼀维整型数组a的正确说明是(D)。
A、int a(10);
B、int n; scanf("%d",&n); int a[n];
C、int n=10,a[n];
D、#define SIZE 10 (换⾏) int a[SIZE];
14.下列字符数组长度为5的是( D)。
A、char d[6]= {'h', 'a', 'b', 'c', '\0' };
B、char c[10]= {'h', 'a', 'b', 'c', 'd'};
C、char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};
D、char a[]={'h', 'a', 'b', 'c', 'd'};
15.设有数组定义: char array [ ]="China"; 则数组 array所占的
空间为(B)。
A、7个字节
B、6个字节
C、5个字节
D、4个字节
16.若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输⼊值的语句是(D)。
A、for(i=0;i<10;i++)a[i]=getchar();
B、scanf("%s",a);
C、gets(a);
D、a=getchar();
17.语句while(!E);中的表达式!E等价于(D)。
A、E==1
B、E!=0
C、E!=1
D、E==0
18.若i为整型变量,则以下循环执⾏次数是(A)。
for(i=2;i==0;) printf("%d",i--);
A、0次
B、2次
C、⽆限次
D、1次
19. C语⾔中 while 和 do-while 循环的主要区别是(A)。
A、do-while 的循环体⾄少⽆条件执⾏⼀次
B、do-while 的循环体不能是复合语句
C、do-while 允许从外部转到循环体内
D、while的循环控制条件⽐ do-while的循环控制条件更严格
20.对 for(表达式1; ;表达式3) 可理解为(D)。
scanf输入整型数组A、for(表达式1;表达式1;表达式3)
B、for(表达式1;0;表达式3)
C、for(表达式1;表达式3;表达式3)
D、for(表达式1;1;表达式3)
21. C语⾔中,switch后的括号内表达式的值可以是( C)。
A、只能为整型和字符型
B、只能为整型
C、任何类型
D、只能为整型,字符型,枚举型
22.以下运算符中,优先级最⾼的运算符是(D)。
A、==
B、||
C、%
D、!
23.下⾯说法不正确的是:(C )。
A、a为真b为假,则a&&b为假
B、a为真b为假,!a&&b为假
C、a为真b为假,则a||b为假
D、a为真,!a-1为真
24.下列运算符中,不属于关系运算符的是(C)。
A、>=
B、>
C、!
D、<
25. C语⾔中,逻辑"真"等价于(C )。
A、⼤于零的整数
B、⼤于零的数
C、⾮零的数
D、⾮零的整数
26. int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(C)。
A、3
B、2
C、1
D、不⼀定
27.执⾏以下程序段后,输出结果和a的值是(B)。 int a=10; printf("%d",a++);
A、11 和 10
B、10 和 11
C、11 和 11
D、10 和 10
28. printf("a\rHappi\by");在屏幕上正确的输出形式是(A ).
A、Happy
B、Happi
C、aHappi
D、aHappy
29.设有以下变量定义
float a; int i;
选择正确的输⼊语句是( C);
A、scanf ("%f%d", a,i);
B、scanf ("%6.2f%d", &a,&i);
C、scanf ("%f%d", &a,&i);
D、scanf ("%f%u", &a,&i);
30.字符串"\\\'efg\'\\"的长度是:(C ).
A、3
B、11
C、7
D、5
31.以下符合C语⾔语法的赋值表达式是:( A).
A、d=q+e,f=d+9;
B、d=q+e=d+9;
C、d=q+e+f=d+9
D、d=q+e++=d+7;
32.下列数据中,为字符串常量的是(D)。
A、A
B、How do you do.
C、$abc
D、"house"
33.以下不符合C语⾔语法的赋值语句是(D)。
A、a=b=5;
B、y=(a=3,6*5);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。