2023年C语言复习题

发布 2020-05-16 23:17:28 阅读 3987

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组用户定义标...