没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言练习题+综合模拟卷3套(附答案)
资源详情
资源评论
资源推荐

综合练习
一、判断题
1. 在 Trubo_C 中运行一个 C 程序时,实际上是运行后缀为.EXE 的可执行文件。
2. 在 C 语言中整数可用十进制数、八进制数和二进制数三种数制表示。
3. 在程序的运行过程中,整型常量的值是可以改变的。
4. C 程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。
5. 大括弧 { } 只能用来括复合语句。
6. do_while 语句构成的循环不能用其它循环语句来代替。
7. 不能用 scanf 函数输入字符。
8. 在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。
9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。
10.C 语言的一个编译预处理命令用 # 开始,最后加分号。
11. C 语言源程序文件经过编译、连接之后生成一个后缀为.EXE 的文件 。
12. C 语言中以 %o 开头的数是八进制整数。
13. 在程序的运行过程中,符号常量的值是可以改变的。
14. 在 C 程序中,APH 和 aph 代表不同的变量。
15. 一个复合语句在语法上被认为是一条语句。
16. 只能用 while 语句构成循环。
17.不能用 printf 函数输出字符。
18. C 程序中各函数之间既允许直接递归调用也允许间接递归调用。
19. 在函数外部定义的变量称为全局变量。
20.宏定义的命令行可以看作是一条 C 语句。
21. C 语言源程序是可以用来直接运行的程序。
22. C 语言中以 %x 开头的数是十六进制整数。
23. C 程序中定义的变量,代表内存中的一个存储单元。
24. 在 C 程序中,9ab 是非法的用户标识符。
25. C 语句必须用一个分号作为结束。
26. do_while 语句构成的循环不能用 break 语句退出。
27. scanf 函数是 c 语言的标准输入函数。
28. C 程序的 main 函数不能有参数。
29. 在函数内部定义的变量称为局部变量。
30.用#include 包含的头文件的后缀必须是.h。
31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。
32. 在 C 语言中整数只能表示为十进制数的形式。
33. 在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。
34. Turbo-C 语言中,字符类型数据占 1 个字节。
35. 空语句是合法的 C 语句。
36. while 语句的循环体不能是复合语句。
37. printf 函数是 c 语言的标准输出函数。
38. C 程序的 main 函数可以有参数,但参数不能是指针类型。
39. 在 main 函数中定义的变量称为全局变量。
40.#include 和 #define 不是 C 语句。
41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。
42. C 语言中 018 是合法的八进制整数。
43. C 程序中所要用到的变量应该先定义,后使用。
44. 十六进制数 0x11 的十进制数是 17。
45.赋值语句是一种可执行语句。

1
46. for 语句的循环体不能是空语句。
47.可以调用 putchar 函数输出字符。
48. C 程序的 main 函数可以有参数,但参数不能是整型。
49. 在一个 C 程序中,全局变量和局部变量是不能同名的。
50.C 编译中的预处理是在编译之前进行的。
51.C 语言程序的三种基本结构是顺序结构、转移结构和循环结构。
52.C 语言中 0xe 是合法的十六进制整数。
53.在程序的运行过程中,其值可以改变的量是变量。
54.八进制数 0x11 的十进制数是 9。
55.在赋值表达式的尾部加上一个分号,就构成了赋值语句。
56. C 语言不允许循环嵌套。
57.可以调用 getchar 函数输入字符。
58. C 程序中各函数之间允许直接递归调用不允许间接递归调用。
59. 局部变量不能在复合语句内部定义。
60. 宏定义是可以带参数的。
二、选择题
1. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A. 循环 B. 递归 C. 转移 D. 嵌套
2. 以下选项中正确的整型常量是_____。
A. 12. B. -10 C. 1,900 D. 123x
3. 在 C 语言程序中,用关键字______定义基本整型变量。
A. int B. float C. double D. char
4. Turbo-C 语言中,字符类型数据占_____字节。
A. 1 个 B. 2 个 C. 4 个 D. 8 个
5. 若 a、b、c、d 都是 int 类型变量且初值为 0, ______不是正确的赋值语句。
A.a=b=c=0; B.a=b; C.c+b; D.d=(c=22)-(b++);
6. 若变量已正确定义并赋值,符合 C 语言语法的表达式是______。
A. a=a±1 B. int(12.0%2) C. a=a+1; D.a=a
7.若 a 是基本整型变量,c 是单精度实型变量,输入语句______是错误的。
A.scanf(”%d,%f”,&a,&c); B.scanf(”%d%f”,a,c);
C.scanf(”%d%f”,&a,&c); D.scanf(”d=%d,c=%f”,&a,&c);
8.对 C 程序在作逻辑运算时判断操作数真、假的表述,______是正确的。
A.0 为假非 0 为真 B.只有 1 为真 C.-1 为假 1 为真 D.0 为真非 0 为假
9. C 语言中的简单数据类型有____。
A. 整型、实型、逻辑型 B. 整型、实型、字符型
C. 整型、字符型、逻辑型 D. 整型、实型、字符型、逻辑型
10. C 语言程序规定必须用 main 作为______。
A.主函数名 B.子函数名 C.程序名 D.变量名
11.下列语句定义 pf 为指向 float 类型变量 f 的指针,_____是正确的。
A.float f,*pf=f; B.float f,*pf=&f; C.float *pf=&f,f; D.float f,pf=f;
12.若 p1、p2 都是整型指针,p1 已经指向变量 x,要使 p2 也指向 x, _____是正确的。
A.p2=p1; B.p2=**p1; C.p2=&p1; D.p2=*p1;
13.定义一个 4 个元素的一维整型数组,_____是正确的。
A.float a[4]; B.int a[ ]={1,2,3,4,5}; C.int a[ ]={1,2,3}; D.int a[4]={1};
14. 数组定义为 int a[3][2],数组 a 中有_____个元素。
A.2 B. 3 C.5 D.6
15. 以下能正确进行字符串赋值或赋初值的语句组是______。

2
A.char str[3]="key";
B.char str[3]={'k','e','y'};
C.char str[4];str="key";
D.char *s; s="key";
16.C 语言中,形参的缺省的存储类说明是______。
A. auto B.static C. register D.extern
17. 若变量已正确定义,表达式 (j=3,j++) 的值是_____ 。
A.3 B. 4 C.5 D.0
18. 若 x 是整型变量,表达式 (x=10.0/4.0) 的值是_____ 。
A.2.5 B. 2.0 C. 3 D.2
19. 为读而打开文本文件 aa.dat,的正确写法是_____。
A.fopen(”aa.dat”,”rb”); B.fopen(”aa.dat”,”w”)
C.fopen(”aa.dat”,”wb”); D.fopen(”aa.dat”,”r”)
20. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____。
A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算
21.C 语言程序的三种基本结构是顺序结构、______结构和循环结构。
A.选择 B.递归 C.转移 D.嵌套
22. 以下选项中不正确的整型常量是_____。
A.0 B.–10u C.20L D.-1234
23. 在 C 语言程序中,用关键字______定义短整型变量。
A.short B.float C.double D.char
24. 十进制数 16 的十六进制数是_____。
A.11 B.12 C.13 D.10
25.若变量已正确定义,______是合法的 C 语句。
A.a=1,b=2 B.a=1=b; C.a=b=5; D.y=;
26.若变量已正确定义并赋值,符合 C 语言语法的表达式是______。
A.a=3,5; B.a+=1 C.a=a+1=3 D.12.3%4
27.若 a 是单精度实型变量,c 是基本整型变量,以下正确的输入语句是______。
A. scanf ("%f%d", a, c) ; B. scanf ("%f%d", &a, &c) ;
C. scanf ("%f%f", &a, &c) ; D. scanf ("%d%f", &a, &c) ;
28.在 C 程序中,用_____表示逻辑值“真”。
A.true B.非 0 的数 C.非 0 整数 D. 大于 0 的数
29. 设有说明语句 char a=’\n’;,则变量 a_____。
A.包含 1 个字符 B.包含 2 个字符 C.包含 3 个字符 D.说明不合法 30. C 语言程序
由 组成。
A.子程序 B.过程 C.函数 D.主程序和子程序
31.下列语句定义 pd 为指向 int 类型变量 d 的指针,_____是正确的。
A.int d,*pd=&d; B.int *pd=&d,d; C.float d,*pd=&d; D.float *pd=&d,d;
32. 若变量已正确定义并且指针 p 已经指向变量 x,则&*p 相当于_____。
A.x B.*p C.p D.*&x
33.定义一个 4 个元素的一维整型数组,_____是不正确的。
A.int a[4]; B.int a[4]={1,2,3,4,5}; C.int a[4]={1,2,3}; D.int a[4]={1};
34. 数组定义为 int a[3][2]={1,2,3,4,5,6},数组元素_____的值为 6。
A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3]
35. 不正确的字符串赋值或赋初值的方式是______。
A.char str[]="string";

3
B.char str[7]={'s','t','r','i','n','g'};
C.char str[10];str="string";
D.char str[7]={'s','t','r','i','n','g',’\0’};
36. 要调用数学函数时,在#include 命令行中应包含_____。[13]
A. ”stdio.h” B. ”string.h” C. ”math.h” D. ”ctype.h”
37. 若变量已正确定义,表达式 (j=1,++j) 的值是_____ 。
A.1 B. 2 C.3 D.0
38. 若 x 是单精度实型变量,表达式 (x=10/4) 的值是_____ 。
A.2.5 B. 2.0 C. 3 D. 2
39. 为写而打开文本文件 aa.dat,的正确写法是_____。
A.fopen(”aa.dat”,”rb”) B.fp=fopen(”aa.dat”,”w”)
C.fopen(”aa.dat”,”wb”) D.fp=fopen(”aa.dat”,”r”)
40. 下列运算符中优先级最低的是_____。
A.“>=”和“<=” B.“>”和“<” C.“==”和“!=” D.“<=”和“<”
41.C 语言程序的三种基本结构是______结构、选择结构和循环结构。
A.顺序 B.递归 C.转移 D.嵌套
42. 以下选项中正确的实型常量是_____。
A.0 B.-10 C.0.19 D.1.9*10
2
43. 在 C 语言程序中,用关键字______定义长整型变量。
A.long B.float C.double D.char
44. 十进制数 8 的八进制数是_____。
A.11 B.010 C.8 D.08
45.______不是合法的 C 语句。
A.{int j; j++;} B.{int j;j++;;} C.{int j;;j++;} D.{ j++;int j; }
46.若变量 a,b 已正确定义并赋值,符合 C 语言语法的表达式是______。
A. a,b B. a≤b C. a≥b D.a≠b
47.对以下的 scanf 语句,正确的输入方式是______。
int k1,k2,k3,k4;
scanf("%d%d%d%d ",&k1,&k2,&k3,&k4);
A.1020 30,40 B.10 20 30 40 C.10,20 3040 D.10 20 30,40
48.表达式!x 等效于_____。
A.x==1 B.x==0 C.x!=1 D.x!=0
49.要定义字符型变量 a 并赋初值,_____是正确的。
A.char a=’3’; B.char a=”3”; C.char a=%; D.char a=*;
50.以下函数调用语句中,含有的实参个数是_____。
calc(exp1,(exp3,exp4,exp5));
A.1 B. 2 C. 3 D. 4
51.下列语句定义整型指针 p1、p2,_____是正确的。
A.int p1,p2; B.int *p1,*p2; C.int *p1,p2; D.int** p1,p2;
52.若变量已正确定义并且指针 p 已经指向变量 x,则*&x 相当于_____ 。
A.x B.*p C.&x D.&*p
53.数组定义为“int a[4];”,表达式_____是错误的。
A.*a B.a[0] C.a D.a++
54. 数组定义为 int a[2][3]={1,2,3,4,5,6},数组元素_____的值为 1。
A.a[1][2] B.a[1][1] C.a[2][3] D.a[0][0]
55. 表达式 strlen(”hello”) 的值是_______。
A. 4 B. 5 C. 6 D. 7
56. 要调用字符串函数时,在#include 命令行中应包含_____。
A. ”stdio.h” B. ”string.h” C. ”math.h” D. ”ctype.h”

4
57. 若变量已正确定义且 k 的值是 4,计算表达式 (j=k++) 后,_____ 是正确的。
A.j=4,k=5 B. j=4,k=4 C.j=5,k=4 D.j=5,k=5
58. C 语言中运算对象必须是整型的运算符是______。
A. % B. / C. ! D.
**
59. 若有 char fname[]="infile.dat"; ,则为读而打开文本文件 infile.dat 的正确写法是_____。
A.fopen(infile.dat,"r") B.fopen(infile.dat,"r")
C.fopen(fname,"r") D. fopen("fname","r")
60. 下列运算符中,优先级从高到低依次为_____。
A.&&,!,|| B.||,&&,! C.&&,||,! D. !,&&,||
61.在 Trubo_C 中,C 语言源程序文件的后缀是______。
A.”.c” B.“.obj” C.“.exe” D.“.bas”
62.以下选项中不正确的实型常量是_____。
A.0.23E1 B.2.3e-1 C.1E3.6 D.2.3e0
63.在 C 语言程序中,用关键字______定义无符号型变量。
A. unsigned B. float C. double D. char
64.C 语言程序中可以对程序进行注释,注释部分必须用符号______括起来。
A. ‘{‘ 和’}’ B. ‘[‘和’]’ C. “/*”和”*/” D. “*/”和”/*”
65. 若 a、b 都是 int 类型变量, ______不是正确的赋值语句。
A.a=b=60 B.a=3.0; C.a=1,3; D.b=0;
66. 若变量 a,b,c 已正确定义并赋值,符合 C 语言语法的表达式是______。
A. ab/c; B. a/c×b C. a·b D.a*b/c
67.若 k 是基本整型变量,则以下程序段的输出是_____。
k=8567;
printf("|%-6d|\n",k);
A.输出格式描述符不正确 B.输出为|008567| C.输出为|8567 | D. 输出为|-08567|
68. 为表示“a 和 b 都大于 0”,应使用的 C 语言表达式是_____。
A.(a>0)&&(b>0) B.a && b C. (a>0)|| (b>0) D.(a>0)|(b>0)
69. 已知字符 ‘b’ 的 ASCII 码为 98 ,执行下列语句后输出为_____。
printf ("%d,%c", ’b’,’b’+1 ) ;
A.98,b B.语句不合法 C.98,99 D. 98,c
70.以下函数调用语句中,含有的实参个数是_____。
exce( (v1,v2), (v3,v4,v5), v6);
A.6 B.5 C.4 D.3
71. 若变量已正确定义,表达式_____可以使指针 px 指向变量 x。
A. px=&x B.px=x C.*px=&x D. *px=*x
72. 若变量已正确定义并且指针 p 已经指向某个变量 x,则(*p)++相当于_____。
A.p++ B.x++ C.*(p++) D.&x++
73. 数组定义为 int a[6],数组 a 中有_____个元素。
A.4 B. 5 C.6 D.7
74. 下列各语句定义了数组,_____是不正确的。
A . int a[1][3]; B . int x[2][2]={1,2,3,4}; C . int x[2][]={1,2,4,6}; D . int
m[][3]={1,2,3,4,5,6};
75.表达式 strcmp(“box”,”boss”) 的值是一个_______。
A. 正数 B. 负数 C. 0 D. 不确定的数
76. 要调用字符函数时,在#include 命令行中应包含_____。
A. ”stdio.h” B. ”string.h” C. ”math.h” D. ”ctype.h”
77. 若变量已正确定义且 k 的值是 4,计算表达式 (j=k--) 后,_____ 是正确的。
A.j=4,k=4 B. j=4,k=3 C.j=3,k=4 D.j=3,k=3
78.表达式 ((int)(3.0/2.0)) 的值是_____ 。
剩余49页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1