一、选择题(每小题1 分)
1)下列叙述中错误的是( )
a)一个c 语言程序只能实现一种算法b)c 程序可以由多个程序文件组成。
c)c 程序可以由一个或多个函数组成d)一个c 函数可以单独作为一个c 程序文件存在。
2)下列叙述中正确的是( )
a)每个c 程序文件中都必须要有一个main( )函数b)在c 程序中main( )函数的位置是固定的。
c)c 程序中所有函数之间都可以相互调用,与函数所处位置无关 d)在c 程序的函数中不能定义另一个函数。
3)下列定义变量的语句中错误的是( )
a)int _int; b)double int_; c)char for; d)float us$;
4)若变量x、y 已正确定义并赋值,下列符合c 语言语法的表达式是( )
a)++x,y=xb)x+1=y c)x=x+10=x+y d)double(x)/10
5)下列关于逻辑运算符两侧运算对象的叙述中正确的是( )
a)只能是整数0 或1b)只能是整数0 或非0 整数。
c)可以是结构体类型的数据 d)可以是任意合法的表达式。
6)若有定义int x,y; 并已正确给变量赋值,则下列选项中与表达式(x-y)?(x+ +y+ +中。
的条件表达式(x-y)等价的是( )
a)(x-y>0) b)(x-y<0) c)(x-y<0‖x-y>0) d)(x-y= =0)
7)有下列程序:
main( )
int x,y,z;
x=y=1;
z=x+ +y+ +y;
printf("%d,%d,%d",x,y,z);
程序运行后的输出结果是( )
a)2,3,3 b)2,3,2 c)2,3,1 d)2,2,1
8)设有定义: int a; float b; 执行scanf("%3d%f",&a,&b);语句时,若从键盘输入。
876543.0,a 和b 的值分别是( )
a)876 和543.000000 b)87 和6.000000 c)87 和543.000000 d)76 和543.000000
9)有下列程序:
main( )
int a=0,b=0;
a=10; /给a 赋值。
b=20; 给b 赋值 */
printf("a+b=%d",a+b); 输出计算结果 */
程序运行后的输出结果是( )
a)a+b=10 b)a+b=30 c)30 d) 出错。
10)在嵌套使用if 语句时,c 语言规定else 总是( )
a)和之前与其具有相同缩进位置的if 配对 b)和之前与其最近的if 配对。
c)和之前与其最近的且不带else 的if 配对 d)和之前的第一个if 配对。
11)下列叙述中正确的是( )
a)break 语句只能用于switch 语句b)在switch 语句中必须使用default
c)break 语句必须与switch 语句中的case 配对使用 d)在switch 语句中,不一定使用break 语句。
12)有下列程序:
main( )
int k=5;
while(--k) printf("%d",k-=3);
printf("");
执行后的输出结果是( )
a)1b)2 c)4d)死循环。
13)有下列程序:
main( )
int i;
for(i=1;i<=40;i+ +
if(i+ +5= =0)
if(+ i%8= =0) printf("%d",i);
printf("");
执行后的输出结果是( )
a)5 b)24 c)32d)40
14)下列选项中,值为1 的表达式是( )
a)1-'0b)1-'\0c)'1'-0d)'\0'-'0'
15)有下列程序:
fun(int x,int y)
main( )
int a=1,b=2,c=3,sum;
sum=fun((a+ +b+ +a+b),c+ +
printf("%d",sum);
执行后的输出结果是( )
a)6 b)7 c)8d)9
16)有下列程序:
main( )
char s[ ]abcde";
s+=2;printf("%d",s[0]);
执行后的结果是( )
a)输出字符a 的ascii 码 b)输出字符c 的ascii 码 c)输出字符c d)程序出错。
17)有下列程序:
fun (int x,int y)
static int m=0,i=2;
i+ =m+1; m=i+x+y; return m;
main (
int j=1, m=1, k;
k=fun(j,m); printf("%d, "k);
k=fun(j,m); printf("%d",k);
执行后的输出结果是( )
a)5,5b)5,11 c)11,11 d)11,5
18)有下列程序:
fun(int x)
int p;
if(x= =0‖x= =1) return(3);
p=x-fun(x-2);
return p;
main( )
printf("%d",fun(7));
执行后的输出结果是( )
a)7 b)3 c)2d)0
19)在16 位编译系统上,若有定义int a[ ]p=&a;,当执行p++;后,下列说法错误的是( )
a)p 向高地址移了一个字节b)p 向高地址移了一个存储单元。
c)p 向高地址移了两个字节d)p 与a+1 等价。
20)有下列程序:
main( )
int a=1, b=3,c=5,*p;
int *p1=&a, *p2=&b, *p3=&c;
p=*p1*(*p2);
printf("%d",*p);
执行后的输出结果是( )
a)1b)2c)3d)4
21)若有以下函数首部。
int fun (double x[10],int *n)
则下列针对此函数的函数声明语句中正确的是( )
a)int fun(double x, int *n); b)int fun(double , int); c)int fun(double *x, int n); d)int fun(double *,int *)
22)有下列程序:
void change (int k[ ]
main( )
int x[10]=,n=0;
while (n<=4)
for(n=0;n<5;n+ +printf("%d",x[n]);
printf("");
程序运行后输出的结果是( )
a)6 7 8 9 10 b)1 3 5 7 9 c)1 2 3 4 5 d)6 2 3 4 5
23)若要求定义具有10 个int 型元素的一维数组a,则下列定义语句中错误的是( )
a)#define n 10 b)#define n 5 c)int a [5+5]; d)int n=10,a [n];
int a [nint a [2*n];
24)有下列程序:
main( )
int x[3][2]=,i;
for(i=0;i<3;i+ +scanf("%d",x[i]);
printf("%3d%3d%3d",x[0][0],x[0][1],x[1][0]);
若运行时输入:2 4 6 ,则输出结果为( )
a)2 0 0 b)2 0 4 c)2 4 0 d)2 4 6
25)有下列程序:
main( )
char s[ ]ps;
ps=s; printf("%c",*ps+4);
程序运行后的输出结果是( )
a)ab)e c)u d)元素s[4]的地址。
26)下列语句中存在语法错误的是( )
a)char ss[6] [20]; ss[1]= rightb)char ss[ ]20]=;
c)char *ss[6]; ss[1]= rightd)char ss[ ]
27)若有定义:char *x="abcdefghi";,下列选项中正确运用了strcpy 函数的是( )
a)char y[10]; strcpy(y,x[4b)char y[10]; strcpy(+ y,&x[1]);
c)char y[10],*s; strcpy(s=y+5,xd)char y[10],*s; strcpy(s=y+1,x+1);
C语言 期末复习卷 1
时间 90分钟总分 150分制卷人 杨乾 一 选择题 每小题3分,共18分 1 以下正确的c语言自定义标识符是 a int b a.3 c 7c d 5d 2 已知i 3,执行j i 后,i和j的值分别为 a i 4 j 2 b i 4 j 3 c i 3 j 3 d i 3 j 2 3 以下程序运...
C语言书面作业1 有答案版
书面作业1 数据类型 变量 输入 输出 运算符与表达式 选择结构 循环结构 一 判断题 在正确的说法前面填写t,在错误的说法前面填写f 每题1分 得分 f 1.c语言程序中,注释越多越好。f 2.c语言程序中的注释,不会影响程序的执行速度。f 3.c语言规定,在一个源程序中,main函数的位置必须在...
《C语言程序设计》复习题有答案
一 填空题。1 c 语言的源程序必须通过编译和链接后,才能被计算机执行。2 c 语言的源程序必须通过编译和连接后,才能被计算机执行。3 c语言中的标示符可分为关键字 拥护标示符和预定义标识符 3类。4 c语言中的标示符可分为关键字 用户标识符和预定义标示符3类。5 在c语言中,用关键字 float ...