c语言练习题(20211125220034)_第1页
c语言练习题(20211125220034)_第2页
c语言练习题(20211125220034)_第3页
c语言练习题(20211125220034)_第4页
c语言练习题(20211125220034)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、下列叙述中不正确的是 (c) a、函数可以带参数、也可以不带参数。b、 main 函数在 c程序中必须有惟一一个c、c 程序的执行从 main函数开始,所以 main函数必须放在程序最前面d、每个函数执行时,按函数体中语句的先后次序,依次执行每条语句以下四个程序中,完全正确的是(d). a、#include main() ; /* programming */ printf(programming!n ) ; b、#include main() /*/* programming */*/ printf(programming!n ) ; c、include main() /* programm

2、ing */ printf(programming!n ) ; d、#include main() /*/ programming /*/ printf(programming!n ) ; c语言中的基本数据类型包括(d) a、整型、逻辑型、字符型b、整型、实型、逻辑型、字符型c、整型、实型、逻辑型d、整型、实型、字符型以下选项中能表示合法常量的是(d). a、实数: 1.5e2.0 b、整数: 1,200 c、字符斜杠: d、字符串: ” 007 ”设char x=040; 执行语句 printf(%dn,x=x1 ); 后的输出结果是(a) a、64 b、120 c、100 d、160 设

3、int a=2,b=-1,c=2; 执行语句 if(ab) if(b=a&ch=a&ch=a&cha&ch1); 输出结果是 (a). a、4 b、2 c、8 d、16 设有定义: int k=1,m=2; float f=7;,则以下选项中错误的表达式是 (d). a、k=f=m b、k=k=k c、-k+ d、k%int(f) 以下关于简单程序设计的步骤和顺序的说法中正确的是(d). a、确定算法后 , 整理并写出文档 , 最后进行编码和上机调试b、先写好文档 , 再根据文档进行编码和上机调试, 最后确定算法和数据结构c、先编码和上机调试, 在编码过程中确定

4、算法和数据结构, 最后整理文档d、首先确定数据结构, 然后确定算法 , 再编码 , 并上机调试 , 最后整理文档有以下程序#include main() char b,c; int i; b=a; c=a; for(i=0;i6;i+) if(i%2) putchar(i+b); else putchar(i+c); printf(n); 程序运行后的输出结果是(a). a、abcdef b、abcdef c、abcdef d、abcdef 有以下程序#include main() char s=012xy08s34f4w2; int i,n=0; for(i=0;si!=0;i+) if(s

5、i=0&si=9) n+; printf(%dn,n); 程序运行后的输出结果是(d). a、7 b、8 c、0 d、3 若有以下说明和定义union dt int a; char b; double c; data; 以下叙述中错误的是(c). a、变量 data 所占内存字节数与成员c所占字节数相等b、data 的每个成员起始地址都相同c、程序段: data.a=5;printf(%fn,data.c);输出结果为5.000000 d、data 可以作为函数的实参设有如下说明typedef struct st long a; int b; char c2; new; 则下面叙述中正

6、确的是(b). a、以上的说明形式非法b、new 是一个结构体类型c、st是一个结构体类型d、new 是一个结构体变量char a1=abc,a280=1234;将a1串连接到 a2串后面的语句是(d). a、strcpy(a2,a1); b、strcpy(a1,a2); c、strcat(a1,a2); d、strcat(a2,a1); int a10; 给数组 a的所有元素分别赋值为1、2、3、的语句是 (a). a、for(i=1;i11;i+)ai-1=i; b、for(i=1;i11;i+)a0=1; c、for(i=1;i11;i+)ai+1=i; d、for(i=1;i11;i+

7、)ai=i; 以下能正确定义一维数组的选项是(c). a、char a=a,b,c; b、int a5=0123; c、char a=0,1,2,3,4,5; d、int a5=0,1,2,3,4,5; 有以下程序#include main() char ch35=“ aaaa ” , “ bbb ” , “ cc ” ; printf(“ %sn” ,ch1); 程序运行后的输出结果是(b). a、cc b、bbb c、aaaa d、bbbcc 若有说明语句: double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是(a). a、p=&a; scanf(%1f

8、,p) ;b、p=&a: scanf(%1f,*p) ;c、*p=&a; scanf(%f,p) ;d、*p=&a: scanf(%1f,p) ;有以下程序prt(int *m,int n) int i; for(i=0;in;i+) mi+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i5;i+) printf(%d,ai); 程序运行后的输出结果是(c). a、3,4,5,6,7,b、2,3,4,5,1,c、2,3,4,5,6,d、1,2,3,4,5,计算机能直接执行的程序是(d). a、汇编程序b、目标程序c、源程序d

9、、可执行程序已知字母 a的ascii码为 65,以下语句段的输出结果是(c) 。char cl=a , c2=y;printf(%d,%dn, c1,c2);a、a,y b、65,90 c、65,89 d、输出格式非法,输出错误信息a、b是整型变量,执行语句scanf (a=d,b= d, &a,&b);使 a和b的值分别为 1和2,正确的输入是 (b) a、a=l b=2 b、a=1,b=2 c、1 2 d、1,2 若变量已正确定义为int 型, 要通过语句scanf( “ %d,%d,%d ” ,&a,&b,&c);给a赋值1, 给b赋值2, 给c赋

10、值3, 以下输入形式中错误的是(u 代表一个空格符 )(a). a、1u2u3 b、1,uuu2, uuu3 c、1,2,3 d、uuu1,2,3 若有条件表达式 x?a+:b- ,则以下表达式中 (c) 等价于表达式 x。a、x=l b、x!=1 c、x!=0 d、x=0 下列运算符中,优先级最低的是( d )。a、? :b、= c、& d、*= 以下程序段的输出结果是( c )。 int x=3; do printf(%3d,x-=2); while(!(-x); a、1 b、3 0 c、1 -2 d、死循环设int a=2,b=-1,c=2; 执行语句 if(ab) if(b0)

11、 c=0; else c+=1; 后,变量 c的值是 (a) a、2 b、3 c、1 d、0 下列对字符数组 s的初始化不正确的是( c) a、char s5=a,b,c,d,e;b、 char s5=abc;c、char s5=abcde;d、char s =abcde;若有数组定义: int a34;则对 a中数组元素的正确引用是(c ) a、a31 b、a34 c、a3-14-4 d、a2,1 在max(a,b),max(c,d),e)函数调用中,含有几个实参(a ) a、2 b、5 c、3 d、4 有以下程序#include int a=1; int f(int c) static i

12、nt a=2; c = c+1; return ( a+ ) + c; main() int i, k=0; for(i=0;i2;i+) int a=3; k += f(a); k+=a; printf(%dn,k); 程序的运行结果是 (d). a、17 b、15 c、16 d、14 #include int f(int n); main() int a=3,s; s=f(a);s=s+f(a);printf(“ %dn” ,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是(b). a、7 b、9 c、10 d、8

13、定义带参数的宏计算两个表达式的乘积,下列定义中哪个是正确的(b) a、#define mult(u,v) u*v b、#define mult(u,v) (u)*(v) c、#define mult(u,v)=(u)*(v) d、 #define mult(u,v) u*v;#include #define f(x) x*x*x main() int a=3,s,t; s=f(a+1); t=f(a+1); printf(%d,%d,s,t); 程序运行后的输出结果是(a). a、10,64 b、64,64 c、64,10 d、10,10 若有语句: int c45, (*cp)5;cp=c;

14、,则对 c数组元素的引用正确的是 ( a) a、*(cp+2) b、*(cp+1)+3 c、*(cp+3) d、cp+1 以下程序的输出结果是(c ) 。#include void main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); a、1 b、4 c、3 d、2 下面程序的输出结果是(a ) 。#include void main() union char n12; int m4; double x2; a; printf(%dn,sizeof(a); a、16 b、36 c、18 d、12 fgets(str,n,fp)

15、函数从文件中读入一个字符串,以下正确的叙述是(a ) a、fgets 函数将从文件中最多读入n-1个字符b、fp 是file类型的指针c、字符串读入后不会自动加入0 d、fgets 函数将从文件中最多读入n个字符若有定义语句: int k1=10,k2=20;,执行表达式(k1=k1k2)&(k2=k2k1) 后, k1和k2的值分别为 _(a). a、0和20 b、10和1 c、0和1 d、10和20 设有定义: int x=2;,以下表达式中,值不为6的是(d). a、x*=x+1 b、 x*=(1+x) c、x+,2*x d、2*x,x+=2 以下运算符中 , 优先级最高的运算符

16、是(c). a、= b、!= c、() d、*( 乘号 ) 设有定义: int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是 (b). a、k+=1 b、k+ c、+k d、k+1 有以下程序#include main() int y=10; while(-y); printf(” y=dn ” ,-y); 程序执行后的输出结果是(b). a、y=1 b、y=-1 c、y=0 d、while 构成无限循环若变量已正确定义,有以下程序段int a=3,b=5,c=7; if(ab) a=b; c=a; if(c!=a) c=b; printf(%d,%d,%dn,a,b,c);

17、 其输出结果是 (a). a、3,5,3 b、程序段有语法错c、3,5,5 d、3,5,7 有以下程序#include main() int a=1,b=0; if(-a) b+; else if(a=0) b+=2; else b+=3; printf(“ %dn” ,b); 程序执行后的输出结果是(d). a、0 bk、3 c、1 d、2 ( 37) 有以下程序 #include struct ord int x,y; dt2=1,2,3,4; main() struct ord *p=dt; printf(“ %d,” ,+p-x); printf(“ %dn” ,+p-y); 程序的运

18、行结果是 (b). a、 3,4 b、2,3 c、 4,1 d、 1, 2 有以下程序#include main() struct node int n; struct node *next; *p; struct node x3=2, x+1, 4, x+2, 6, null; p=x; printf(“ %d,” , p-n); printf(“ %dn” , p-next-n ); 程序运行的结果是 (c). a、2,3 b、3,4 c、2,4 d、4,6 有以下程序# include # include main() char x” string ” ; x0=0;x1 0 ;x2 0

19、 ; printf(“ d dn ” ,sizeof(x),strlen(x); 程序运行后的输出结果是(d). a、6 3 b、6 1 c、7 1 d、7 0 若有定义语句: int a36; ,按在内存中的存放顺序,a数组的第10个元素是 (a). a、a13 b、a14 c、a03 d、a04 有以下程序 main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3 ;i+) printf(%d ,t2-ii); 程序执行后的输出结果是(c). a、3 6 9 b、7 5 1 c、3 5 7 d、7 5 3 若有定义语句: char *s1= ” ok ”

20、,*s2=” ok” ; ,以下选项中,能够输出” ok ” 的语句是 (c). a、if (strcmp(s1,s2)!=0) puts(s2); b、if(strcmp(s1,s2)=1) puts(s1); c、if (strcmp(s1,s2)!=0) puts(s1); d、if(strcmp(s1,s2)=0) puts(s1); 设有定义:int n1=0,n2,*p=&n2,*q=&n1;, 以下赋值语句中与n2=n1;语句等价的是 (a). a、*p=*q; b、p=*q; c、*p=&n1; d、p=q; 下列语句组中,正确的是(d). a、char

21、 s7;s=olympic; b、char *s;s=olympic; c、char s7;s=olympic; d、char *s;s=olympic; 有以下程序main() int a=0,b=0; a=10; /* 给a赋值 */ b=20; /* 给b赋值 */ printf(%dn,a+b); /* 输出计算结果 */ 程序运行后的结果是(c). a、出错b、a+b=10 c、30 d、a+b=30 以下关于 long 、int 和short 类型数据占用内存大小的叙述中正确的是(d) a、由用户自己定义b、均占 4个字节c、根据数据的大小来决定所占内存的字节数d、由c语言编译系统

22、决定以下选项中不属于 c语言的类型的是 (a) a、long short b、unsigned long int c、signed short int d、unsigned int 以下选项中可作为 c语言合法常量的是 (c). a、-80.0e b、-080 c、-80 d、-8e1.0 定义函数 int max()的确切含义是 ( a) a、返回整型值的函数b、返回指向函数 max() 的指针c、上面的叙述都不正确。d、返回指向整型变量的指针设double x=l,y;表达式 y=x+3/2 的值是 (b) a、1 b、2.0 c、2.5 d、2 以下程序段的输出结果是( a )。 int

23、 i,j,m=0; for(i=1; i=15; i+=4) for(j=3; j=19; j+=4) m+; printf(%dn, m); a、20 b、12 c、25 d、15 下列语句中,哪一个可以输出26个大写英文字母 ( b ) a、for(a=a;a=z;printf(c,+a); b、for(a=a;a=z;printf(%c,a+); c、for(a=a;az;a+)printf(c,a); d、for(a=a;az;printf(c,+a); 下列能正确定义一维数组a的语句是 ( b) a、int a(10);b、# define n l0 int an;c、int n=1

24、0, an;d、 int n;scanf( d,&n); int an;能对一维数组正确初始化的语句是(d ) a、int a6= b、int a6=(0,0,0) c、int a6=13 d、int a6=6*1 下列各叙述中,正确叙述项是(a ) a、函数中可以没有 retum语句,也可以有多条retum语句b、定义函数时,必须要有形参c、函数必须有返回值d、函数 f 可以用 f(f(x)形式调用,这种调用形式是递归调用在一个 c源程序文件中所定义的全局变量,其作用域为(a). a、由具体定义位置和extern 说明来决定范围b、所在程序的全部范围c、所在文件的全部范围d、所在函数

25、的全部范围若各选项中所用变量已正确定义,函数fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是(a). a、main() x=fun(2,10); float fun(int a,int b) b、float fun(int a,int b) main() x=fun(i,j); c、main() float fun(int i,int j); x=fun(i,j); float fun(int a,int b) d、float fun(int,int); main() x=fun(2,10); float fun(int a,int b) 以下叙述中正确的是(d ) a

26、、若一些源程序中包含某个头文件;当该头文件有错时,只需对该头文件进行修改,包含此头文件所有源程序不必重新进行编译b、用#include 包含的头文件的后缀不可以是.a c、宏命令行可以看做是一行c语句d、c编译中的预处理是在编译之前进行的有以下程序 #include #define pt 3.5 ; #define s(x) pt*x*x ; main() int a=1,b=2; printf(“ %4.1fn ” ,s(a+b); 程序运行后的输出结果是(b). a、31.5 b、程序有错无输出结果c、7.5 d、14.0 以下程序的输出结果是 (c ) 。#include void ma

27、in() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); a、1 b、4 c、3 d、2 若有定义: int x,*pb;,则以下正确的赋值表达式是( d) a、*pb=&x b、*pb=*x c、pb=x d、pb=&x 若有以下定义struct dateint y,m,d; struct student int num;char name9;struct date bir; stu,*p=&stu; 则以下对结构体变量 stu 成员的引用中错误的是 ( d) a、 b、stu.bir.y c

28、、 p-bir.y d、p-bir-y c语言中,文件由 (b ) a、数据行组成b、字符(字节)序列组成c、数据块组成d、记录组成设有以下语句int a=1,b=2,c; c=a(b2);执行后, c的值为(b). a、8 b、9 c、7 d、6 以下不能输出字符 a的语句是(注:字符 a的ascii码值为 65,字符 a的ascii码值为 97)(a). a、printf(%dn,a); b、printf(%cn,65); c、printf(%cn,b-1); d、printf(%cn,a-32); 若a=1,b=2则 a|b 的值是(b). a、0 b、3 c、2 d、1 以下不能正确表

29、示代数式2ab/(cd) 的c语言表达式是 (b). a、2*a*b/c/d b、2*a*b/c*d c、a/c/d*b*2 d、a*b/c/d*2 有以下程序#include main() int a=1,b=0; if(-a) b+; else if(a=0) b+=2; else b+=3; printf(“ %dn” ,b); 程序执行后的输出结果是(d). a、0 b、3 c、1 d、2 要求通过 while 循环不断读入字符,当读入字母n 时结束循环。若变量已正确定义以下正确的程序段是(b). a、while(ch=getchar()=n)printf(%c,ch);b、while(ch=getchar()!=n)printf(%c,ch);c、while(ch=getchar()!=n)printf(%c,ch);d、while(ch=getchar()=n)printf(%c,ch);int a=1,b=2,c=3; if(ab)a=b; if(ac)a=c; 则a的值为 (b). a、3 b、1 c、不一定d、2 c语言中 , 定义结构体的保留字是 (b). a、union b、struct c、typede

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论