C语言课程习题

上传人:公**** 文档编号:492578472 上传时间:2023-11-28 格式:DOC 页数:23 大小:143KB
返回 下载 相关 举报
C语言课程习题_第1页
第1页 / 共23页
C语言课程习题_第2页
第2页 / 共23页
C语言课程习题_第3页
第3页 / 共23页
C语言课程习题_第4页
第4页 / 共23页
C语言课程习题_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C语言课程习题》由会员分享,可在线阅读,更多相关《C语言课程习题(23页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上C语言综合练习题(一)一 选择题(7分,每小题0.5分)1.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是( )。A 552 B 144 C 264 D -2642.下列标识符中,不能作为合法的C用户定义标识符的是( )。A a3_b3 B void C _123 D IF3.下列整数值中,不正确的八进制或十六进制数值常量是( )。A 0xcd B -017 C -ox123 D 0xfdc4.若给定条件表达式(M)?(a+):(a-),则其中表达式M和( )等价。A M=0 B M=1 C M!=1 D M!=05.在C语言中,if语句后的一

2、对圆括号中,用以决定分支流程的表达式为( )。A 只能是逻辑表达式 B只能是关系表达式C 只能是逻辑表达式或关系表达式 D可以是任意表达式6.以下程序的输出结果为( )。main( ) char c;int i;for(i=65;i68;i+) c=i+32;switch(c) case a:printf(%c,c);break; case b:case e:printf(ok,);default: printf(end); A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok7.数组名作为实参数传递给函数时,数组名被处理为( )。A 该数组的长度

3、 B 该数组的元素个数C 该数组的首地址 D 该数组中各元素的值8.关于return语句,下列正确的说法是( )。A 可以在同一函数中出现多次 B 在主函数中不能出现 C 必须在每个函数中出现 D 只能在除主函数之外的函数中出现一次9.以下程序的输出结果为( )。#define A 3#define B(a) (A+1)*amain() int x; x=3*A+B(7);printf(x=%dn,x);A x=93 B x=37 C x=60 D x=9010.设有以下定义,则以下对变量w的赋值( )是错误的。enum weeksun,mon=4,tue,wed,thu,fri,satw;A

4、 w=sun; B w=(enum week)4; C w=san; D w=(enum week)9;11.以下定义结构体类型st1,其中正确的是( )。A typedef struct student int num; int age; STD;STD st1;B struct st1int num,age;s;C struct int num; float age;st1;D struct st1 int num; int age; 12.若有下面的变量定义,以下语句中合法的是( )。 int i,a10,*p; A p=a+2; B p=a5; C p=a2+2; D p=&(i+2)

5、;13.设有说明 int *ptr3;,其中标识符ptr是( )。A 是一个指向整形变量的指针B 是一个指针,它指向一个具有三个整形元素的一维数组C 是一个指针数组名,每个元素是一个指向整形变量的指针D 定义不合法14.要打开一个已存在的非空文件“file”用于修改,选择正确的语句( )。A fpfopen(file,r); B fp=fopen(file,w);C fp=fopen(file,r+); D fp=fopen(file,w+);二 判断对错,对的划“”,错的划“”(5分,每小题0.5分)1在Turbo C中,实型数据在内存中占4个字节。( )2若有形参定义:int a10;则a

6、+是合法的表达式。( )3若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。( )4函数的递归调用不过是一个函数直接地调用它自身。( )5定义在main函数后的任何函数都需在main中进行函数声明。( )6若有定义:int a;则scanf(“%d,a);可以给变量a赋值。( )7任何数组在使用前必须先定义。( )8在int *p;和语句printf(“%d”, *p);中的*p含义相同。( )9共用体变量的各个成员所占内存单元的地址相同。( )10在使用缓冲文件系统时,与文件输入和输出相关的数据都先送到缓冲区中。( )三 写出下列程序的运行结果(10分,每小题2分)

7、1.main( ) char c1=A,c2=144,c3=x44,c=0xf5,x=13,a;int i=0122,j=0xa4;printf(“c1=%c,c4=%ctc5=%cn”,c1,c2,c3);printf(“%d,%dn”,i,j);i=-34;j=20;printf(“%d,%d,%dn”,i%j,i&j2,sizeof(j);printf(“c=%dn”,c|x);a=cx2;printf(“a=%dn”,a);2.main() int x,y=1,z=10; if(y!=0) x=5; printf(“x=%dt”,x); x=1; if(z0) x=3; else x=

8、5; printf(“x=%dn”,x); if(z=y0) x=3; else if(y=0) x=5; else x=7; printf(“x=%dt”,x); printf(“z=%dn”,z); 3.main( ) char s20=“I like it.”,t20=“Are you?”,c20;int i=0;while(s+i!=0)ti=si;ti=0;printf(“string s:%sn”,s);printf(“string t:%sn”,t);4.int i=5;main( ) int i=3; int i=10; i+; printf(“%dn”,i); f1( );

9、i+=1; printf(“%dn”,i);int f1( ) i=i+1; return(i);5.main() int i=10,a=10,20,30,15,*p1; char *b=”Learning”,*p2=&b; p1=&i; printf(“%4d”,*p1+20); for(p1=a;p1a+4;p1+=2) printf(“%4d”,*p1); printf(“n%ct%sn”,*(b+4),*p2);四 阅读下列程序,在 处填入适当内容,使程序完整(8分,每个空1分)1.用冒泡法对任意10个整数排序。 main() int a11,i,j,t; for(i=1;iaj) t

10、=aj; (3) ; (4) ; printf(The sorted numbers:n); for(i=1;i11;i+) printf(%4d,ai); printf(“n”); 2.求100200间的素数。 (5) main() int m,flag; for(m=101;m=200;m+=2) flag=prime(m);if( (6) ) printf(“%4d”,m); prime( (7) ) int i,k,flag; k=sqrt(a); for(i=2;ib?a+:b+,a+b)的值是( )。A 7 B 8 C 9 D 24.设a为int型变量,执行下列赋值语句后,a的取值

11、分别是( )。a=125.534; a=(int)125.521%4; a=52;A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次6.以下程序的输出结果为( )。int i;void prt( ) for(i=5;i8;i+) printf(%c,*); printf(t);main( ) for(i=5;i=8;i+) prt( ); A * B * * * * C * * D * * *7.在C语言程序中,以下说法正确的是()。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。func(e1,e2),(e3,e4,e5); A 2 B 3 C 5 D 语法错误9.以下程序的输出结果为( )。#define ADD(x) x*x main( ) int a=4,b=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号