本文主要是介绍C语言期末复习多选题50道(含答案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
答案:
1·BCD · 2. ABC · 3. A · 4. AC · 5. ABC · 6. BCD · 7. ACD · 8. BD · 9. BC · 10. BCD · 11. ABD · 12. ABD · 13. ABD · 14. AB · 15. BCD · 16. BCD · 17. CD · 18. AB · 19. BD · 20. ABD · 21. CD · 22. ABD · 23. CD · 24. C · 25. ABD · 26. ABC · 27. BCD · 28. ABD · 29. BCD · 30. BD · 31. BC · 32. ACD · 33. BD · 34. B · 35. ABD · 36. AC · 37. BD · 38. B · 39. A · 40. ABC · 41. ACD · 42. AB · 43. AC · 44. ACD · 45. ABC · 46. ACD · 47. ABD · 48. AC · 49. AD · 50. AC
1. 以下叙述中正确的是( )
A) 用户所定义的标识符允许使用关键字
B) 用户所定义的标识符应尽量做到“见名知意”
C) 用户所定义的标识符必须以字母或下划线开头
D) 用户定义的标识符中,大、小写字母代表不同标识
2. 下列定义变量的语句中正确的是( )
A) int _int;
B) double int_;
C) char For;
D) float US$;
3. 设有定义:int k=1, m=2;float f=7;,则以下选项中符合C语言语法的表达式是
( )
A) k=k>=k
B) -k++
C) k%int(f)
D) k<>m
4. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则正确引用x数组元素的是( )
A) *p
B) x[5]
C) *(p+1)
D) *x
5. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中正确的是
( )
A) #define N 10
int a[N];
B) #define n 5
int a [2*n];
C) int a[5+5];
D) int n=10,a[n];
6. C源程序中可以表示的数制是
( )
A) 二进制
B) 八进制
C) 十进制
D) 十六进制
7. 按照C语言规定的用户标识符命名规则,能出现在标识符中的是( )
A) 大写字母
B) 连接符
C) 数字字符
D) 下划线
8. 以下不合法的字符型常量是( )
A) '\x13'
B) '\081'
C) '\065'
D) "\n"
9. 以下合法的字符常量是
( )
A) '\018'
B) '\"'
C) '\\'
D) '\0xcc'
10. 以下叙述中正确的是( )
A) C语句必须以分号结束
B) 复合语句在语法上被看作一条语句
C) 空语句出现在任何位置都不会影响程序运行
D) 赋值表达式末尾加分号就构成赋值语句
11. 以下合法的赋值语句是( )
A) n=(i=2,++i);
B) j++;
C) ++(i+1);
D) x=j>0;
12. 以下能正确定义二维数组的选项是
( )
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}};
13. 若有定义:int aa[8];则以下表达式中能代表数组元aa[1]的地址的是
( )
A) &aa[0]+1
B) &aa[1]
C) &aa[0]++
D) aa+1
14. 已有定义:int i,a[10],*p; , 则不合法的赋值语句是( )
A) p=100;
B) p=a[5]
C) p=&a[2]+2
D) p=a+2;
15. 以下能正确进行字符串赋初值的语句是( )
A) char str[5]="good!";
B) char str[]="good!";
C) char *str="good!";
D) char str[5]={‘g',‘o',‘o',‘d'};
16. 已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97。以下能将变量c中的大写字母转换为对应小写字母的语句是( )
A) c=(c-'A')%26+'a'
B) c=c+32
C) c=c-'A'+'a'
D) c=('A'+c)%26-'a'
17. 设有以下定义和语句
char str[20]="Program", *p;
p=str;
则以下叙述中错误的是( )
A) *p与str[0]中的值相等
B) 可以执行p++操作
C) 可以执行str++操作
D) str数组长度和p所指向的字符串长度相等
18. 对于下面①,②两个循环语句,正确的描述是( )。
① while(1);
② for( ; ; );
A) ①是无限循环
B) ②是无限循环
C) ①循环一次
D) ②循环一次
19. 以下错误的函数定义形式是( )
A) double fun (int x , int y)
B) double fun (int x ; int y)
C) double fun (int x , int y) ;
D) double fun (int x , y) ;
20. 对于基本类型相同的两个指针变量之间,可以进行的运算是( )
A) <
B) =
C) +
D) -
21. 能把字符串:Hello!赋给数组b的语句是( )
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
22. 以下能对二维数组a进行正确初始化的语句是( )
A) int a[2][3]={0};
B) int a[2][ ]={{1, 2}, {0}};
C) int a[2][3]={{1, 2}, {3, 4}, {5, 6}};
D) int a[ ][3]={1, 2, 3, 4, 5, 6};
23. sizeof(double)是
A) 一种函数调用
B) 一个双精度型表达式
C) 一个整型表达式
D) sizeof是运算符
24. 设a为整型变量,能正确表达数学关系:10<a<15 的C语言表达式是( )
A) 10<a<15
B) a==11||a==12||a==13||a==14
C) a>10&&a<15
D) (a<10)||(a>15)
25. C语言中基本的数据类型包括( )
A) 整型
B) 实型
C) 逻辑型
D) 字符型
26. 以下对一维整型数组y的错误定义是( )。
A) int y(10);
B) int k=10,y[k];
C) int k;
D) #define SIZE 8
int y[SIZE];
27. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中 0≤i≤9, 则对a数组元素正确的引用是( )
A) a[p-a]
B) *(&a[i])
C) p[i]
D) a[10]
28. 若a、b、c、d都是int类型变量且初值为0,以下选项中正确的赋值语句是( )。
A) a=b=c=100;
B) d++;
C) c+b;
D) d=(c=22)-(b++);
29. 设有定义:char p[]={'1', '2', '3'},*q=p; ,以下能计算出一个char型数据所占字节数的表达式是( )
A) sizeof(p)
B) sizeof(char)
C) sizeof(*q)
D) sizeof(p[0])
30. 下列选项中,合法的C语言关键字是( )
A) VAR
B) char
C) integer
D) default
31. 若变量x、y已正确定义并赋值,以下不正确的表达式是
( )
A) ++x,y=x--
B) x+1=y
C) x=x+10=x+y
D) double(x)/10
32. 以下定义语句中错误的是
( )
A) int a=b=0;
B) char A=65+1,b='b';
C) float a=1,*b=&a,*c=&b;
D) double a=0.0;b=1.1;
33. 已定义ch为字符型变量,以下赋值语句中正确的是( )
A) ch='\';
B) ch=62+3;
C) ch=NULL;
D) ch='\xaa';
34. 下列选项中,正确的赋值表达式是( )
A) (a+b)++
B) n1=(n2=(n3=0))
C) k=i=j
D) a=b+c=1
35. 以下叙述中错误的是
( )
A) C程序中的注释只能出现在程序的开始位置和语句的后面
B) C程序书写格式严格,要求一行内只能写一个语句
C) C程序书写格式自由,一个语句可以写在多行上
D) 用C语言编写的程序只能放在一个程序文件中
36. 指出下面正确的赋值语句( )
A) a++
B) a==b;
C) a+=b;
D) a=1,b=1;
37. 下面正确的字符常量为( )。
A) "n"
B) '\\'
C) 'ab'
D) 'u'
38. 若程序中定义了以下函数:
double myadd(double a,double b)
{ return (a+b);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中正确的说明是( )
A) double myadd(double a,b);
B) double myadd(double,double);
C) double myadd(double b,double a);
D) double myadd(double x,double y);
39. 下选项中是C语句的是( )。
A) {int i; i++; printf(“%d\n”,i);}
B) ;
C) a=5,c=10
D) { ; }
40. 以下叙述中错误的是( )
A) 预处理命令行必须位于源文件的开头
B) 在源文件的一行上只能有一条预处理命令
C) 宏名必须用大写字母表示
D) 宏替换不占有程序的运行时间
41. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则能正确执行的语句是( )
A) k=*p1+*p2;
B) p2=k;
C) p1=p2;
D) k=*p1 *(*p2);
42. 以下叙述中正确的是
( )
A) C程序必须由一个或一个以上的函数组成
B) 函数调用可以作为一个独立的语句存在
C) 若函数有多个返回值,必须通过多个return语句返回
D) 函数形参的值改变也可以传回给对应的实参
43. 设有以下定义
int a=0; int *p=&a; char c='A';
#define d 2
则下面语句中正确的是( )
A) a++;
B) b++;
C) c++;
D) d++;
44. 关于形参和实参的说法中,错误的是( )。
A) 形参是虚设的,所以它始终不占存储单元
B) 实参与它所对应的形参占用不同的存储单元
C) 实参与它所对应的形参占用同一个存储单元
D) 实参与它所对应的形参同名时可占用同一个存储单元
45. 若有说明:int n=2,*p=&n,*q=p;,则以下正确的赋值语句是( )
A) p=q;
B) *p=*q;
C) n=*q;
D) p=n;
46. 下列错误的C语言标志符的是( )。
A) Aa+
B) __123
C) a*bc
D) b&cd
47. 以下叙述中正确的是( )
A) 改变函数形参的值,不会改变对应实参的值
B) 函数可以返回地址值
C) 可以给指针变量赋一个整数作为地址值
D) 当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
48. 下面正确的转义字符是( )。
A) '\101'
B) '\'
C) '\xaf'
D) '\018'
49. 以下选项中,合法的字符常量是( )
A) '\t'
B) '\18'
C) "n"
D) '\xaa'
50. 下列叙述中错误的是( )
A) break语句只能用于switch语句
B) 在switch语句中可以不使用default
C) break语句必须与switch语句中的case配对使用
D) 在switch语句中,不一定使用break语句
这篇关于C语言期末复习多选题50道(含答案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!