C语言考试习题及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 C语言程序设计概述习题
1. C语言程序的基本结构是【 】。 A) 函数 B) 语句 C) 字符 D) 程序行 2. 下列四个叙述中,正确的是【 】 A)在C程序中,主函数必须位于其他函数的最前面 B)在C程序中,一行只能写一条语句 C)C程序的基本结构是程序行 D)C语句是完成程序功能的最小单位 3. C语言规定,在一个C程序中,main()函数的位置是【 】 A) 必须在开始 B) 必须在最后 C) 可以任意 D) 必须在系统调用的库函数之后 4. 以下叙述中,正确的是【 】 。 A) C语言程序总是从第一个定义的函数开始执行 . B) C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 5. 在C语言提供的合法的关键字是【 】 A) switch B) cher C) Case D) FLOAT 6. 以பைடு நூலகம்用户标识符,其中合法的是【 】 A) For B) 4d C) f2.G3 D) _f#
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【 】。 A)6 B) 4 C) 8 D) 2 8. 列四组数据类型中,C语言允许的一组是【 】 A) 整型、实型、逻辑型,双精度型 B) 整型、实型、字符型,无值类型 C) 整型、双精度型、布尔型,无值类型 D) 整型、实型、复型、字符型 9. 以下能正确定义变量a, b和c并为它们赋值的语句是【 】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 10. C语言所提供的五种基本数据类型包括:字符型、整型、双精度 型、浮点型和【 】。 A) 指针型 B) 结构型 C) 数组型 D) 无值类型 11. 设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f 的 数据类型是【 】。 A) int型 B) float 型 C) double型 D) 不确定 12. 若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式 (x+y)%2+(int)a/(int)b的值是【 】。 A) 0 B) 2 C) 1.5 D) 1 13. 若d为double型, 表达式 d=1, d+5, d++ 的值是【 】。 A) 1 B) 6.0 C) 2.0 D) 1.0 14. 设int a=1, d=4;float b=2.0, c=3.0, 则表达式: a+b*c-d%2 的值 是【 】。 A) 5 B) 6 C) 5.0 D) 6.0 15. 下列运算符中,优先级最高的是【 】。 A) * B) ++ C) + D) /= 16. 若希望当整型变量A的值为5时, 表达式的值为1, 则下面不能满足 要求的表达式是【 】。 A) A/2-1 B) A%2 C)(A-2)/2 D) (A+3)%2 17. a、b均为整数, 且b≠0, 则表达式 a/b*b+a%b的值是【 】。 A) a B) b C) a被b除的余数部分 D) a被b除商的整数部 分 18. 设x、y、z、s均为int型变量,且初值均为1,则执行语句s=(++x)+ (++y)-(++z);后, s的值为【 】。
A) 3 B) 6 C) 4 D) 5 19. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 20. 若已定义int a; 则表达式 a=10, a+10, a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 21. 已知 int x=4, y=-1; char ch=‘A’; 则表达式(x-y+ch-‘B’-y) 的值 是【 】。 A) 2 B) 1 C) 3 D) -2 22. 下列运算符中,运算优先级最低的是【 】。 A) -B) / C) + D) -= 23. 若给定表达式 2.5+3/2-7%2,则与表达式的值是【 】。 A) 2 B) 1 C) 2.5 D) 2.0 24. 已定义int a;则表达式 a=10,a+10,a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 25. 错误的转义字符是 【 】 A) '\091' B) '\\' C) '\0' D) '\'' 26. 设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b和c的 值分别是 【 】 A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3 27. 在C语言中,合法的长整型常数是【 】 A) 0L B) 49627 C) 324562& D) 216D 28. 假定x和y为double型,则表达式x=2,y=x+3/2的值是【 】 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 29. 以下合法的赋值语句是【 】 A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 30. 若能x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16, k=32)后x的值是【 】 A) 4 B) 16; C) 32 D) 52 31. 下面均是合法整型常量的是【 】。 A) 160 B) -0xcdf C) -01 D) -0x48a -0xffff 01a 986.12 2e5 012 0xe 0668 0x 32. 下面不正确的字符串常量是【 】。 A) ‘abc’ B) “12’12” C) “0” D) “ ” 33. 符合语法的赋值表达式是【 】。 A) d=9+e+f=d+9 B) d=9+e,f=d+9 C) d=9+e,e++,d+9 D) d=9+e++=d+7
34. 要求运算数必须是整型的运算符是【 】。 A) / B) + C) % D) ++ 35. 设变量a为整型,f为实型,i为双精度型则表达式a+i*f值的数据类 型是【 】。 A) int B) float C) double D) 不确定 36. 在C语言中,char型数据在内存中的存储形式是【 】。 A) 补码 B) 反码 C) 原码 D) ASCII码 37. 正确标识符符是【 】。 A) 4d B) if C) Int D) AS$ 38. 若有定义int b=7;float a=2.5,c=4.7 则表达式 a+(int) (b/3*(int)(a+c)/2)%4的值为【 】。 A) 5.5 B) 5 C) 6.5 D) 6 39. 有定义int a=2,b=3,c=10;则计算表达式 a+=b+2,c-=a+1 后c 的值是【 】。 A) 3 B) 2 C) 1 D) 4 40. C语言中,int、char、和short三种类型数据占用的字节数是【 】。 A) 用户自定义 B) 均为2个字节 C) 任意的 D) 由机 器字长决定 41. 以下选项中合法的字符常量是【 】 A) "B" B) '\010' C) 68 D) D
第3章 C程序的基本控制结构习题
一、选择题
1. 结构化程序设计中使用的基本程序控制结构是【 】。 A) 选择结构、顺序结构、循环结构 B) 条件结构、嵌套结构、顺序结构 C) 嵌套结构、转移结构、递归结构 D) 模块结构、递归结构、循环结构 2. 下面程序运行的结果是【 】 main() { int i=-1; if(i>=0) printf("****\n");
} A) **** B) %%%% C) %%%%\n D) ****%%%% 3. 下列程序段的输出结果是【 】。 char m='a'; while (!m) printf("%c",m); A)a B)aaa... C)不输出任何信息 D)'a' 4. 运行下列程序,输出结果是【 】。 main() { char m='a'; do { printf("%c",m); } while(!m); } A) a B) aaa... C) 'a' D) 不输出任何值 5. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;++k) s=s*k; A)1*2*3*...*10 B)0 C)11 D)10 6. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;) s=s+k;k++; A)1+2+3+...+10 B)10 C)11 D)死循环 7. 以下四条语句中,有语法错误的是【 】。 A)if(a>b) m=a; B)if(a<b) m=b; C)if((a=b;)>=0) m=a; D)if((a=b)>=0) m=a; 8. 运行下面程序段后,i的值是【 】。 int i; for(i=0;i<10;i++) printf("%d",i);
A)9 B)10 C)0 D)0123456789 9. 有如下程序段: int p=10; while(p=0) p=p-2; 则下面的描述中正确的是【 】。 A)while语句执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 10. 语句while(!E);中的表达式 !E等价于【 】。 A)E==0 B)E!=1 C)E!=0 D)E==1 11. 设a为整型变量,则下列不能正确表达数学关系1<a<5 的表达式是 【 】。 A)a>1&&a<5 B)a==2||a==3||a==4 C)1<a<5 D)!(a<=1)&&!(a>=5) 12. 设 int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值为【 】。 A)4 B)2 C)1 D)3 13. 设 int i=4;则表达式(i==2)?i:i-1的值为【 】。 A)1 B)2 C)0 D)3 14. 以下程序段在执行时,若从键盘输入3,则输出为【 】。 int x; scanf("%d",&x); switch (x) { case 5: printf("Excellent"); default: printf("Poor"); case 4: printf("Good"); case 3: printf("Pass"); case 2: printf("Fail"); } A)Pass B)Passpoor C)PoorPassFail D)PassFail 15. 以下程序段的输出结果是【 】。
第2章 数据类型、运算符和表达式习题
1. int x=43, y=0; char ch=‘A’;则表达式x*y+ch-‘B’的值是【 】。 A) 43 B) 65 C) 1 D) 0 2. 在C语言中,合法的字符常量是【 】 A) '\084' B) '\x43' C) 'ab' D) "\0" 3. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 4. a=2为整型变量,(a+‘E’-‘A’)*3表达式的值是【 】。 A) 18 B) 12 C) 8 D) 20 5. 表达式5/2的值是【 】。 A)2.5 B) 2 C) 3 D) 1 6. 设y=z=4,则表达式x=y==z的值为【 】。
1. C语言程序的基本结构是【 】。 A) 函数 B) 语句 C) 字符 D) 程序行 2. 下列四个叙述中,正确的是【 】 A)在C程序中,主函数必须位于其他函数的最前面 B)在C程序中,一行只能写一条语句 C)C程序的基本结构是程序行 D)C语句是完成程序功能的最小单位 3. C语言规定,在一个C程序中,main()函数的位置是【 】 A) 必须在开始 B) 必须在最后 C) 可以任意 D) 必须在系统调用的库函数之后 4. 以下叙述中,正确的是【 】 。 A) C语言程序总是从第一个定义的函数开始执行 . B) C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 5. 在C语言提供的合法的关键字是【 】 A) switch B) cher C) Case D) FLOAT 6. 以பைடு நூலகம்用户标识符,其中合法的是【 】 A) For B) 4d C) f2.G3 D) _f#
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【 】。 A)6 B) 4 C) 8 D) 2 8. 列四组数据类型中,C语言允许的一组是【 】 A) 整型、实型、逻辑型,双精度型 B) 整型、实型、字符型,无值类型 C) 整型、双精度型、布尔型,无值类型 D) 整型、实型、复型、字符型 9. 以下能正确定义变量a, b和c并为它们赋值的语句是【 】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 10. C语言所提供的五种基本数据类型包括:字符型、整型、双精度 型、浮点型和【 】。 A) 指针型 B) 结构型 C) 数组型 D) 无值类型 11. 设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f 的 数据类型是【 】。 A) int型 B) float 型 C) double型 D) 不确定 12. 若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式 (x+y)%2+(int)a/(int)b的值是【 】。 A) 0 B) 2 C) 1.5 D) 1 13. 若d为double型, 表达式 d=1, d+5, d++ 的值是【 】。 A) 1 B) 6.0 C) 2.0 D) 1.0 14. 设int a=1, d=4;float b=2.0, c=3.0, 则表达式: a+b*c-d%2 的值 是【 】。 A) 5 B) 6 C) 5.0 D) 6.0 15. 下列运算符中,优先级最高的是【 】。 A) * B) ++ C) + D) /= 16. 若希望当整型变量A的值为5时, 表达式的值为1, 则下面不能满足 要求的表达式是【 】。 A) A/2-1 B) A%2 C)(A-2)/2 D) (A+3)%2 17. a、b均为整数, 且b≠0, 则表达式 a/b*b+a%b的值是【 】。 A) a B) b C) a被b除的余数部分 D) a被b除商的整数部 分 18. 设x、y、z、s均为int型变量,且初值均为1,则执行语句s=(++x)+ (++y)-(++z);后, s的值为【 】。
A) 3 B) 6 C) 4 D) 5 19. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 20. 若已定义int a; 则表达式 a=10, a+10, a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 21. 已知 int x=4, y=-1; char ch=‘A’; 则表达式(x-y+ch-‘B’-y) 的值 是【 】。 A) 2 B) 1 C) 3 D) -2 22. 下列运算符中,运算优先级最低的是【 】。 A) -B) / C) + D) -= 23. 若给定表达式 2.5+3/2-7%2,则与表达式的值是【 】。 A) 2 B) 1 C) 2.5 D) 2.0 24. 已定义int a;则表达式 a=10,a+10,a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 25. 错误的转义字符是 【 】 A) '\091' B) '\\' C) '\0' D) '\'' 26. 设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b和c的 值分别是 【 】 A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3 27. 在C语言中,合法的长整型常数是【 】 A) 0L B) 49627 C) 324562& D) 216D 28. 假定x和y为double型,则表达式x=2,y=x+3/2的值是【 】 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 29. 以下合法的赋值语句是【 】 A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 30. 若能x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16, k=32)后x的值是【 】 A) 4 B) 16; C) 32 D) 52 31. 下面均是合法整型常量的是【 】。 A) 160 B) -0xcdf C) -01 D) -0x48a -0xffff 01a 986.12 2e5 012 0xe 0668 0x 32. 下面不正确的字符串常量是【 】。 A) ‘abc’ B) “12’12” C) “0” D) “ ” 33. 符合语法的赋值表达式是【 】。 A) d=9+e+f=d+9 B) d=9+e,f=d+9 C) d=9+e,e++,d+9 D) d=9+e++=d+7
34. 要求运算数必须是整型的运算符是【 】。 A) / B) + C) % D) ++ 35. 设变量a为整型,f为实型,i为双精度型则表达式a+i*f值的数据类 型是【 】。 A) int B) float C) double D) 不确定 36. 在C语言中,char型数据在内存中的存储形式是【 】。 A) 补码 B) 反码 C) 原码 D) ASCII码 37. 正确标识符符是【 】。 A) 4d B) if C) Int D) AS$ 38. 若有定义int b=7;float a=2.5,c=4.7 则表达式 a+(int) (b/3*(int)(a+c)/2)%4的值为【 】。 A) 5.5 B) 5 C) 6.5 D) 6 39. 有定义int a=2,b=3,c=10;则计算表达式 a+=b+2,c-=a+1 后c 的值是【 】。 A) 3 B) 2 C) 1 D) 4 40. C语言中,int、char、和short三种类型数据占用的字节数是【 】。 A) 用户自定义 B) 均为2个字节 C) 任意的 D) 由机 器字长决定 41. 以下选项中合法的字符常量是【 】 A) "B" B) '\010' C) 68 D) D
第3章 C程序的基本控制结构习题
一、选择题
1. 结构化程序设计中使用的基本程序控制结构是【 】。 A) 选择结构、顺序结构、循环结构 B) 条件结构、嵌套结构、顺序结构 C) 嵌套结构、转移结构、递归结构 D) 模块结构、递归结构、循环结构 2. 下面程序运行的结果是【 】 main() { int i=-1; if(i>=0) printf("****\n");
} A) **** B) %%%% C) %%%%\n D) ****%%%% 3. 下列程序段的输出结果是【 】。 char m='a'; while (!m) printf("%c",m); A)a B)aaa... C)不输出任何信息 D)'a' 4. 运行下列程序,输出结果是【 】。 main() { char m='a'; do { printf("%c",m); } while(!m); } A) a B) aaa... C) 'a' D) 不输出任何值 5. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;++k) s=s*k; A)1*2*3*...*10 B)0 C)11 D)10 6. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;) s=s+k;k++; A)1+2+3+...+10 B)10 C)11 D)死循环 7. 以下四条语句中,有语法错误的是【 】。 A)if(a>b) m=a; B)if(a<b) m=b; C)if((a=b;)>=0) m=a; D)if((a=b)>=0) m=a; 8. 运行下面程序段后,i的值是【 】。 int i; for(i=0;i<10;i++) printf("%d",i);
A)9 B)10 C)0 D)0123456789 9. 有如下程序段: int p=10; while(p=0) p=p-2; 则下面的描述中正确的是【 】。 A)while语句执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 10. 语句while(!E);中的表达式 !E等价于【 】。 A)E==0 B)E!=1 C)E!=0 D)E==1 11. 设a为整型变量,则下列不能正确表达数学关系1<a<5 的表达式是 【 】。 A)a>1&&a<5 B)a==2||a==3||a==4 C)1<a<5 D)!(a<=1)&&!(a>=5) 12. 设 int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值为【 】。 A)4 B)2 C)1 D)3 13. 设 int i=4;则表达式(i==2)?i:i-1的值为【 】。 A)1 B)2 C)0 D)3 14. 以下程序段在执行时,若从键盘输入3,则输出为【 】。 int x; scanf("%d",&x); switch (x) { case 5: printf("Excellent"); default: printf("Poor"); case 4: printf("Good"); case 3: printf("Pass"); case 2: printf("Fail"); } A)Pass B)Passpoor C)PoorPassFail D)PassFail 15. 以下程序段的输出结果是【 】。
第2章 数据类型、运算符和表达式习题
1. int x=43, y=0; char ch=‘A’;则表达式x*y+ch-‘B’的值是【 】。 A) 43 B) 65 C) 1 D) 0 2. 在C语言中,合法的字符常量是【 】 A) '\084' B) '\x43' C) 'ab' D) "\0" 3. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 4. a=2为整型变量,(a+‘E’-‘A’)*3表达式的值是【 】。 A) 18 B) 12 C) 8 D) 20 5. 表达式5/2的值是【 】。 A)2.5 B) 2 C) 3 D) 1 6. 设y=z=4,则表达式x=y==z的值为【 】。