2012 c语言复习资料。
一、 选择题。
1. 以下叙述中正确的是( c )
a) c语言程序将从源程序中第一个函数开始执行。
b) 可以由在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行。
c) c语言规定必须用main作为主函数名,程序将从此开始执行,在此结束。
d) main可以作为用户标识符,用户可以命名任意一个函数作为主函数。
2. 若有定义语句:char s[10]=”1234567\0\0”; 则strlen(s)的值是( b)
a)7 b)8 c)9 d)10
3. 若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( b )
a) switch(xb) switch((int)x)
c) switch(a+bd) switch(a+b)
4. 有以下程序。
void main( )p=a,*q=p+3;
printf("%d",*p+*q);
程序运行后的输出结果是( d )
a) 10 b) 4 c) 8 d) 6
5. 若有定义:int x=0, *p=&x;,则语句printf("%d",*p);的输出结果是( b )
a)随机值 b)0 c)x的地址 d)p的地址。
6. 下列叙述中错误的是( a )
a) 一个c语言程序可以包含多个main函数。
b) c程序可以由多个程序文件组成。
c) c程序可以由一个或多个函数组成。
d) 在c程序的函数中不能定义另一个函数。
a) and_2007b) abc c)int d) double
7. 设有int x=11; 则表达式 x % 5的值是( a )
a) 1b) 2c) 3d) 4
8. 以下的for循环( c)
for(x=0; x<10; x + 2 );
a) 是无限循环 b)循环次数不定 c)执行5次 d)执行4次。
9. 以下错误的定义语句是( c )
a)int x[3]=,
b)int x[4][3]=,
c)int x[4]
d)int x[3]=;
10. c语言中while和do-while循环的主要区别是( a ).
a)do-while的循环体至少无条件执行一次。
b)while的循环控制条件比的循环控制条件严格。
c)do-while允许从外部转到循环体内。
d)do-while的循环体不能是复合语句。
11. 对于基类型相同的两个指针变量之间,不能进行的运算是 ( a )
a)
12. 设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( d )
a)*p=*q; b)p=q; c)*p=&n1; d)p=*q;
13. 以下叙述错误的是( b )
a) 用户定义的函数中可以没有return语句。
b) 用户定义的函数中可以有多个return语句,一次调用可以返回多个值。
c) 用户定义的函数中若没有return语句,则应当定义函数的类型为void类型。
d) 函数的return语句中可以没有表达式。
14. 有以下程序。
#include <>
int fun(int x,int y)
if(x>y) return x;
else return y;
void main( )
程序运行后的输出结果是( c )
a) 3 b) 4 c) 5 d) 6
15. 以下叙述中错误的是( d )
a)在程序中凡是以”#”开始的**行都是预处理指令行。
b)预处理指令行的最后不能以分号表示结束。
c)#define max是合法的宏定义指令行。
d)c程序对预处理指令行的处理是在程序执行的过程中进行的。
16. 按照c语言的用户标识符命名规则,不能出现在标识符中的是( d )
a) 字母 b) 数字 c) 下划线 d) 连接符。
17. 若有定义语句int a[3][2];按在内存中的存放顺序,a数组的第3个元素(a[0][0]是第一个元素)是( a )
a) a[1][0b) a[1][1c) a[0][0d) a[0][1]
18. 以下不合法的标识符是( a )
a) for b) a_b c) print d) x1
19. 若函数中有定义语句:int k;,则( a )
a)系统将自动给k赋初值0b)这时k中的值无定义。
c)系统将自动给k赋初值-1d)这时k中无任何值。
20. 有以下程序。
void fun(int *a, int *b)
main ()
程序运行后的输出结果是( d )
a) 34b) 35c) 44d) 45
21. 以下叙述中正确的是( b )
a) 函数的定义可以嵌套,但函数的调用不可以嵌套。
b) 函数的定义不可以嵌套,但函数的调用可以嵌套。
c) 函数的定义和调用都不可以嵌套。
d) 函数的定义和调用都可以嵌套。
22. 下面关于标识符的叙述正确的是( acd )
a)标识符中可以有数字 b)关键字可以做标识符
c)标识符中可以有大写字母 d)标识符中可以有下划线。
23. 以下关于字符串的叙述中正确的是( b )
a) c语言中有字符串常量和变量。
b) c语言中没有字符串变量。
c) 可以用关系运算符对字符串大小进行比较。
d) 所有字符串末尾都有结束标志。
24. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( b)
a)函数的实参和其对应的形参共占同一存储单元
b)形参只是形式上的存在,不占用具体存储单元
c)同名的实参和形参占同一存储单元
d)函数的形参和实参分别占用不同的存储单元。
25. 以下不合法的标识符是( c )
a)j2_keyb) int c)4d d)_8_
26. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是( d )
a) 3 b) 0 c) 9 d) –12
27. 在c程序中,若对函数类型未加说明,则函数的隐含类型为( c )。
a)int b)double c)void d)char
28. 设变量定义为int a, b;,执行下列语句时,输入( a ),则a和b的值都是10。
scanf("a=%d, b=%d",&a, &b);
a)10 10 b)10, 10 c)a=10 b=10 d) a=10, b=10
29. 设变量定义为int a[4];,则表达式( a )不符合c语言语法。
a) *a b) a[0] c) a d) a++
30. 下列程序输出结果是( c
#include <>
void main( )
int k=5;
k--;printf("%d",+k);
a) 3 b) 4 c) 5 d) 6
31. 有以下程序。
#include <>
void main( )
int x,y,z;
x=y=1;
z=x++,y++;
printf("%d,%d",x,y);
程序运行后的输出结果是( a)
a) 2,2 b) 2,3 c) 3,2 d) 1,2
32. 以下能正确定义字符串的语句是( d )
a) char str=”kx43b) char str
c) char str=064d) char str=0”;
33. 已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量c中的大写字母转换为小写字母的语句是( )
a)c=(c-‘a’)%26+’ab)c=c+32;
c)c=c-‘a’+’ad)c=(‘a’+c)%26-‘a’;
34. 下列程序段的输出结果是( c )
2023年C语言复习题目
1.题目 有 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?2.题目 企业发放的奖金根据利润提成。利润 i 低于或等于10万元时,奖金可提10 利润高于10万元,低于20万元时,低于10万元的部分按10 提成,高于10万元的部分,可可提成7.5 20万到40万之间时,高于20万元的部分...
高级语言程序设计复习题 C
高级语句程序设计 一 单项选择题。在一个 程序中,main函数的位置 必须在程序的开头 必须在程序的后面。可以在程序的任何地方 必须在其它函数中间。程序基本单位是 数据 字符 函数 语句。执行语句 int i 10,p i 后,下面描述错误的是 p的值为10p指向整型变量i p表示变量i的值 p的值...
C语言期末考试复习题
单选复习题。下列定义变量的语句中错误的是 a int int b double int c char for d float us 答案 d知识点 常量 变量和标识符。以下不合法的用户标识符是 a j2 key b double c 4dd 8 答案 c知识点 常量 变量和标识符。以下4组用户定义标...