《计算机程序
C+VB》复习
C语言部分
1. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )
A. k++ B. k+=1 C. ++k D. k+1
2. 为了避免嵌套的条件分支语句if~else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
A. 缩排位置相同的if B. 在其之前未配对的if
C. 在其之前未配对的最近的if D.同一行上的if
3. 设A为存放短整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
4. 设整型变量a为7,使b不为3的表达式是( )。
A. b=a/2 B. b=9-(--a) C. b=a%2 D. b=a>3?3:2
5. C语言程序的执行,总是起始于( )。
A. 程序中的第一条可执行语句 B. 程序中的第一个函数
C. main函数 D. 包含文件中的第一个函数
6. 下列说法中正确的是( )。
A. C程序书写时,不区分大小写字母 B. C程序书写时,一行只能写一个语句
C. C程序书写时每行必须有行号 D. C程序书写时,一个语句可分成几行书写
7. C语言中,能识别处理的文件为( )
A. 文本文件和数据块文件 B. 文本文件和二进制文件
C. 流文件和文本文件 D. 数据文件和二进制文件
8. 下面程序段的运行结果是( )
char *s="abcde";
s+=2; printf("%d",s);
A. cde B. 字符’c’
C. 字符'c'的地址 D. 无确定的输出结果
9. 以下叙述中正确的是( )。
A. C语言比其他语言高级 B. C语言可以不用编译就能被计算机识别执行
C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D. C语言出现的最晚,具有其他语言的一切优点
10. 选出下列标识符中不是合法的标识符的是( )。
A. hot_do B. cat1 C. _pri D. 2ab
11. 下列描述中不正确的是( )。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12. 若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。
A. p+1 B. a+1 C. a++ D. ++p
13. 设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y));的输出结果是( )。
A. 1 B. 0 C. 4 D. 3
14. 若有定义语句: int a=5;,则表达式a-=a+a的值为( )。
A.-10 B.-5 C.0 D.5
15. 以下不能正确定义二维数组的语句是( )
A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};
16. 程序段( )的功能是将变量 u 、s中的最大值赋给变量t 。
A. if(u>s) t=u; t=s; B. t=u; if(t) t=s;
C. if(u>s) t=u; else t= s; D . t=s; if(u ) t=u;
17. 设变量定义为 int a[3]={1,4,7},*p=&a[2];,则*p的值是( )。
A. &a[2] B. 4 C. 7 D. 1
18. 能正确表示a和b同时为正或同时为负的逻辑表达式是( )。
A.(a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)
C.(a+b>0) &&(a+b<=0) D.a*b>0
19. 以下可以作为C语言合法整数的是( )。
A.1010B B. 0368 C.0Xffa D. x2a2
20. 以下叙述中正确的是( )
A. 构成C程序的基本单位是函数
B. 可以在一个函数中定义另一个函数
C. main()函数必须放在其他函数之前
D. 所有被调用的函数一定要在调用之前进行定义
21. 以下叙述不正确的是( )
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
22. C语言中用于结构化程序设计的3种基本结构是( )
A. 顺序结构、选择结构、循环结构 B. if,switch,break
C. for,while,do-while D. if,for,continue
23. 若有说明语句:int a; float b;,以下输入语句正确的是( )。
A. scanf("%f%f",&a,&b); B. scanf("%f%d",&a,&b);
C. scanf("%d,%f",&a,&b); D. scanf("%6.2f%6.2f",&a,&b);
24. 执行下面程序段,给x、y赋值时,不能作为数据分隔符的是( )。
int x,y;
scanf("%d%d",&x,&y);
A.空格 B. Tab键 C.回车 D.逗号
25. C语言中最简单的数据类型包括( )
A.整型、实型、逻辑型 B.整型、实型、字符型
C.整型、字符型、逻辑型 D.字符型、实型、逻辑型
26. 下列数据中,不合法的C语言实型数据的是( )
A. 0.123 B. 123e3 C. 2.1e3.5 D. 789.0
27. 若有说明语句:char c='\72';,则变量c( )
A.包含1个字符 B.包含2个字符
C.包含3个字符 D.说明不合法,c的值不确定
28. 有字符串,"\n\\\407as1\"\xabc",则字符串的长度为( )
A. 6 B. 7 C. 8 D. 9
29. 若变量已正确定义并赋值,以下符合C语言语法的表达式是( )
A. a=a+7=c+b B. a=b=c+2 C. int 18.5%3 D. a:=b+1
30. 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为( )
A. 2 B. 3 C. 4 D. 5
31. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )
A. ′a′<=c<=′z′ B. (c>=′a′)||(c<=′z′)
C.(′a′<=c)and(′z′>=c) D.(c>=′a′)&&(c<=′z′)
32. 对if语句中表达式的类型,下面正确的描述是( )。
A. 必须是关系表达式 B. 必须是关系表达式或逻辑表达式
C. 必须是关系表达式或算术表达式 D. 可以是任意表达式
33. 以下判断两个字符串相等的正确方法是( )。
A. if(str1=str2) B. if(str1==str2)
C. if(strcpy(str1,str2)=0) D. if(strcmp(str1,str2)==0)
34. 对表达式for(表达式1; ;表达式3)可理解为( )
A. for(表达式1;0;表达式3) B. for(表达式1;1;表达式3)
C. for(表达式1;表达式1;表达式3) D. for(表达式1;表达式3;表达式3)
35. C语言中 while 和do-while循环的主要区别是 ( )
A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件更严格
C. do-while允许从外部转到循环体内
D. do-while 的循环体不能是复合语句
36. 下列说法中错误的是( )
A. 只能在循环体内使用break语句
B. 在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环
C. 在while和do…while循环中,continue语句并没有使整个循环终止
D. continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断
37. 在下列选项中,没有构成死循环的是( )
A. int i=100; B. for(;;);
while(1)
{ i=i*0.1+1;
if(i>100) break;
}
C. int k=10000; D. int s=36;
do while(s) --s;
{ k++;
} while(k>10000);
38. 若有说明 int a[3][4];则a数组元素的非法引用是( )
A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4]
39. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )
A. 整型常量 B. 整型表达式
C. 整型常量或整型表达式 D. 任何类型的表达式
40. 设有数组定义: char array[]="China"; 则数组 array所占的空间为( )
A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节
41. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )
A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参
继续阅读