c语言结构体类型变量在程序执行期间(3分),C语言基础知识综合练习题

《C语言基础知识综合练习题》由会员分享,可在线阅读,更多相关《C语言基础知识综合练习题(29页珍藏版)》请在人人文库网上搜索。

1、C语言基本知识和基本语句1.是(一)选择题设a,b和c都是int型变量,且( )。A) a & bC) a | b+c&b-c设ch是char型变量,其值为& ch = AA) A3 .若x和y都是 则输出结果是(A ) 200D)A字符,)? (ch + 32):chC) Zint 型变量,x=100, )。B)100 C) 1004.5.6.B) a y z,它对应 C语言表达式是B)D)整型、单精度型、双精度、字符型 整型、实型、逻辑型、字符型)。D) *)。A )(x=y) & (y=z ) B) (x=y) AND (y=z )C) (x=y=z)D) (x=y) & (y=z )7。

2、. 以下说法中正确的是()。A )C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从 main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分&设 int x=10,y=3, z;则语句printf (%d n , z=(x%y, x/y);的输出结果()。A) 1B) 0C) 4D) 39.C语言表达式10 != 9的值是()。A) trueB)非零值C) 0D) 110.合法的C语言字符常量是()。A) tB) “ AC) 65D) A11若int类型数据占两个字节,则下列语句的输出为()。。

3、int k = -1;printf (“ d.n ”,k,k);A) - 1 , -1 B)-1 ,32767C)-1, 32768 D)- 1, 6553512.组成C语言程序的是()。A)子程序B)过程C)函数D)主程序和子程序13.以下的选项中,正确的赋值语句是()。D) y=int(x);A ) i+;B)a=1,b=2;C)a=b=514.以下不符合C语言语法的语句是()。A ) i+;B)i=j=5;C)k=2*4,k*4;D) y=float(i)15.下列程序的输出结果是()。main () int a=9;a+=a-=a+a;printf(“%d n” ,a);A) 18B)。

4、 9 C)-18D)- 916.下列语句的输出结果是()。printf( “%d n” ,(int)(2.5+3.0);A )有语法错误不能通过编译 B) 2 C) 1 D) 017. 下列程序的输出是()。main () int a = 7,b=5; printf( “d n”,b=b/a); A )有语法错误不能通过编译 B) 2 C) 1 D) 018. 请阅读程序()。main () int a;float b,c;scanf( “2d%3f%4f ,&a,&b,&c);printf( “n”,a,b,c); 若运行时从键盘上输入9876543210(CR表示回车),则上面程序的输出结。

5、果是20.19.)。A a=98,b=765,c=4321B) a=10,b=432,c=8765C) a=98,b=765.000000,c=4321.000000以下程序的输出结果是(main () int a=-1,b=4,k;k=(+ab?“* * * a=%d ”A )没有正确的输出格式控制C) # # # b=3D)5以下程序段的输出结果为(int a=1; b=2,c=2,t=0 ;while(ay) z=x;x=y;y=z;A ) x=10,y=20,z=30C) x=20,y=30,z=107. 以下程序的运行结果是(mai n() int m=5;if (m+5) prin。

6、tf ( else printf (A ) 4B) 58. 以下不正确的语句是(A) if (xy);:“# # # b=%d ”B) * * * a=2 a= 2# # # # b=3)。b,c );D) 2,1,3a,C)1,2,1以下语句执行后x,y,zC) 6任意表达式,b);的值是(B) x=20,y=30,z=30D) x=20,y=30,z=20)。%d n” ,m);%d n” ,m-); D) 7)。B) if (x=y)&(x!=0) x+=y;C) if (x!=y) scanf( “%d,&x);else scanf( “%d,&y);D) if (xamax) ama。

7、x = x;if ()amin = x;scanf (“ f,&x);printf (“n”,amax,amin);17. 以下程序的功能是计算1-3+5-7+-99+101的值,请填空。mai n () int i,t =1,s = 0;for (i= 1; is2)B) if (strcmp (s1,s2)C) if (strcmp (s2,s1)0) D) if (strcmp (s1,s2)0)16. 下面程序段的功能是将字符串s中所有的字符c删除。请选择填空。#include main () char s80;int i,j;gets(s);for(i=j=0;si!=0 ;i+)i。

8、f (si!=sj= A) sj+=si sj=si17.有两个字符型数组A) gets (a,b); c);0 ; puts(s);B) s+j=si C) sj=si ;j+D)a,b,则以下正确的输入格式是(B)scanf(D) gets(。“%s%” ,a,b);“a”),gets(“b”);C) scanf (“s%”,&a,&b);18 对两个数组a和b进行如下初始化,char a = A , B,char b =” ABCDE” ;则以下叙述正确的是(A) a 与b数组完全相同C) a与b中都存放字符串(二)填空题1.下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其它。

9、元素不变。请填空。#in clude C , D , EF ;)B) aD)b与b数组长度相同数组比a数组长度长mai n () char a =“ l abchmfye” ,t;int i,j;for( i=0; i#in cludemain () char s20,str320; int i;for(i=0;i void YesNo(char ch) switch(ch) case y: case Y :printf(,n:n );case以下叙述中不正确的是(case N : printf( “n”); ;main () char ch;printf( “ nEnter a char y。

10、 , Y or n , Nn”);ch= ;printf(“ch:%c” ,ch);YesNo(ch);五、指针练习(一)选择题1. 已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2 均已指向变量 k,下面不能正确执行的赋值语句是()。A)k=*ptr1+*ptr2; B) ptr2=k; C) ptr1= ptr2 D) k=*ptr1*(* ptr2);2. 变量的指针,其含义是指该变量的()。A)值 B) 地址 C) 名 D)一个标志3. 如有定义int a=5;下面对,两个语句的正确解释是()。 int *p=&a; *p=a;A) 语句和中的含义相同,都表。

11、示给指针变量p赋值B) 和语句的执行结果,都是把变量a的地址值赋给指针变量pC) 在对p进行说明的同时进行初始化,使p指向a将变量a的值赋给指针变量pD) 在对p进行说明的同时进行初始化,使p指向a将变量a的值赋于* p4. 若已定义char s10;则在下面表达式中不表示s1的地址的是()。A)s+1B)s+C) & s0+1D) &s15. 若有以下定义,则对a数组元素的正确引用是()。int a5,*p=a;A) *&a5 B) a+2 C) *(p+5) D) *(a+2)6. 若有以下定义,则对a数组元素地址的正确引用是()。int a5,*p=a;A)p+5B)*a+1C)& a+。

12、1D) & a07. 设有如下函数定义int f(char *s)char *p=s;while (*p != 0 ) p+;return(p-s);如果在主程序中用下面的语句调用上述函数,则输出结果为(printf( “%d n” ,f(“goodbay!”);A) 3 B) 6 C) 8 D) 08. 执行以下程序后,y的值是(mai n() int a=2,4,6,8,10;int y=1,x,*p;p=&a1;for(x=0;x#in clude mai n() char stri ng100,*p,*q,*r,c;gets(stri ng);for(p=stri ng;*p;p+)f。

13、or(q=r=p;*q;q+) if ()r=q;if () c=*r;*r=*p;*p=c;for(p=stri ng;*p;p+) for(q= ;*p=*q;q+)strcpy(p,q);printf(“result;%sn”,string); A)*r*qB)*r*pC)rqD)rp A)r= =qB)r!=qC)p!=qD)r!=p A)p+B)pC)p-1D)p+117. 下面程序的功能是将字符串 s中的容按逆序输出,但不改变串中的容,请选择填空。#i nclude main () char s10=” hello! ”;in verp(s);in verp(char *a) if。

14、 ()return 0;in verp(a+1);printf( “%c ,);A)*a!= 0 B)*a!=NULL C)!* a D)!a*= =0A)*(a-1) B)*aC)*(a+1)D)*(a-)18. 下面程序的运行结果是()。main () int x5=2,4,6,8,10,*p,*pp;p=x;pp=&p;A)4 4(二)、填空题1在C程序中,2.在C程序中, printf(printf(B)2 4C)2“%d ,* (p+); “ %3d n” ,*2D)4*pp);6只能给指针变量赋可以通过三种运算来移动指针,它们是值和一值。、六、结构体、共用体及位运算(一)选择题1.。

15、当说明一个结构体变量时系统分配给它的存是()。A)各成员所需存量的总和B)结构中第一个成员所需的存量C)成员中占存量最大者所需的容量2.以下结构体类型变量的定义中不正确的是(D)结构中最后一个成员所需存量)A)#defi ne STUDENT struct stude ntB)struct stude ntSTUDENT int num;float age;std1;C)struct int num;float age;std1; int num;float age; std1;D)struct int num;float age; stude nt;3.设有以下说明语句,则下面的叙述不正确的。

16、是(struct stude nt std1;)struct stu int a;float b; stutype;A) struct是结构体类型的关键字B) struct stu是用户定义的结构体类型C) stutype是用户定义的结构体类型名4. C语言结构体类型变量在程序执行期间(A)所有成员一直驻留在存中B)C)部分成员驻留在存中D)D)a和b都是结构体成员名 )只有一个成员驻留在存中没有成员驻留在存中5.以下对结构体变量stu1中成员age的非法引用是(struct stude nt int age;6.7.9.12.age D)(*p).age。结构中第一个成员所需的存量 结构中最。

17、后一个成员所需存量)。时对它初始化。只有一个成员驻留在存中 没有成员驻留在存中)D)11C)81),优先级最高的是(2)C)|C)313.在执行完以下 C语句后,B的值是( A;D)5)char Z=int num; stu1,*p;p=&stu1;A)stu1.ageB)stude nt.ageC)p当说明一个共用体变量时系统分配给它的存是(A)各成员所需存量的总和B)C)成员中占存量最大者所需的容量D)以下对C语言中共用体类型数据的叙述正确的是(A) 可以对共有体变量名直接赋值B) 一个共用体变量中可以同时存放其所有成员C) 一个共用体变量中不可以同时存放其所以成员D) 共用体类型定义中不。

18、能出现结构体类型的成员 设有以下说明,则下面的叙述不正确的是(union data int i;char c;float f; un;A) un所占存长度等于成员f的长度B) un的地址和它的各成员地址都是同一地址C) un可以作为函数参数D) 不能对un赋值,但可以在定义unC语言共用体类型变量在程序执行期间(A)所有成员一直驻留在存中B)C)部分成员驻留在存中D)10.C语言若有如下定义()union data int i;char ch;double f; b;则共用体变量b占用存的字节数是(A)1B)211.以下运算符中优先级最低的是B)&D)|A)&若x=2,y=3则x&y的结果B)。

19、2A)0int B;B=(241 &15)&(Z| a);A)0B)1C)TRUED)FALSE14 .在位运算中,操作数每右一位,其结果相当于()。A)操作数乘以2B)操作数除以2C)操作数除以4D)操作数乘以415 .设有以下语句,则 z的二进制值是()char x=3,y=6,z;z=xAy=0 xaj2. &ai i%4= =0 printf( “ n”);3. j=2 j=04. i = j+1 found = 15. i =7 j= i+76. (strcmp(str0,str1)0?str0:str1) s7. 06& continue ai9. he10. xi+或 yi+四、。

20、函数和预编译(一)选择题1. A 2.A 3.A 4.D 5.B 6.B 7.D 8.B 9.A 10.D 11.A 12.C A 13.A 14.A 15.C 16.C17.D 18.D 19.B(二)填空题1 . break break getchar()三、指针(一)选择题1 . B 2 . B 3 . D 4 . B 5 . D 6 . D 7 . C 8 . C 9 . C 10 . B 11.C 12.D 13.A14.C 15.C 16. A D D 17. C B 18.B(二)填空题1 .地址NULL2. 对指针变量加一个整形常量对指针变量减去一个整形常量指针赋值五、结构体和共同体1 . A 2 . D 3 . C 4 . A 5 . B 6 . C 7 . C 8 . C 9 . B 10 . C11. (1) C (2) B 12.B 13.B 14.B 15.B。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值