收藏 分销(赏)

南京工程学院C语言试卷.doc

上传人:鼓*** 文档编号:11398018 上传时间:2025-07-21 格式:DOC 页数:11 大小:30.54KB 下载积分:8 金币
下载 相关
南京工程学院C语言试卷.doc_第1页
第1页 / 共11页
南京工程学院C语言试卷.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
试卷3 一、单项选择题(共20小题;每小题1分,共20分) 1、下列常量不合法的是( )。 A.1.5E-2 B.‘BASIC’ C.0x12 D.“\\good” 2、下列变量名中不合法的是( )。 A.iCount B.Stu_NO C.INT D.vc++ 3、设变量已正确定义并赋值,以下正确的表达式是( )。 A.b=7++ B.x=3,++y C.a=7%3.0 D.x=y+1=2 4、表达式sizeof(double)-sizeof(3.1f)+3/2的值是( )。 A.4 B.5 C.5。5 D.1.5 5、下列各语句序列判别变量a、b的大小,若a〈b则交换它们的值,其中正确的是( ). A.if (a<b) {t=a; a=b; b=t;} B.if (a<b) a=b; b=a; C.if(a<b) {a=b; b=a;} D.if(a<b) t=a; a=b; b=t; 6、已知有程序段:int a=1,*p=&a,**q; q=&p; **q=3; printf(”%d\n",a);则该程序段正确执行后输出结果为( )。 A.1 B.3 C. 该程序段有语法错 D. 该程序段没有输出结果 7、若有说明:int *p,m=3,n;,则以下正确的程序段是( ). A.p=&n;scanf(”%d”,&p); B.p=&&n;scanf(”%d",*p); C.scanf(”%d”, &n);*p=n; D.p=&n;*p=m; 8、设有以下说明语句,则下面的叙述中不正确的是( ). typedef struct student { long StuNO; char Stuname[9];char sex;float cscore;}STU; A.typedef是给类型起别名 B.STU是结构变量名 C.StuNO是结构体STU的一个成员 D.STU是结构类型名 9、有定义或声明:int *myf(float x, long y);,若以下选项中的正确的是( )。 A. myf是指针数组; B. myf是数组指针; C。 myf是指针函数; D. myf是函数指针; 10、C语言中函数返回值的类型是由( )决定的。 A.传递给函数的实参类型 B.return语句中的表达式类型 C.调用该函数的主调函数类型 D.定义函数时所指定的函数返回值类型 11、若有宏定义:#define FUN(x) x%x,则表达式FUN(2+3)的值为( )。 A.5 B.0 C.6 D.7 12、设有定义语句:char c1=32,c2=32;则以下表达式中值为0的是( ). A. c1^c2 B. c1&c2 C。~c2 D。 c1|c2 13、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是( )。 A.m[i] B.m[2*2] C.m[m[0]] D.m[m[i]] 14、以下对二维数组arr的定义正确的是( )。 A.int arr[5][]={1,2,3}; B.int arr[][1]={{1,2,3},{4,5,6}}; C.int arr[3][3]={0}; D.int arr[2][3]={1,2,3,4,5,6,7,8}; 15、若有定义语句:char s[]="hello\0theworld";,则strlen(s)的值是( )。 A.5 B.6 C.14 D.15 16、有定义int i=88,j=99,*p,*q;p=&i;q=&j; p=q;则printf("%d %d”,*p,*q)结果是( )。 A.88 88 B.88 99 C.99 99 D.99 88 17、已知有定义int a[8]={0},*p=a;,则不能表示a[1]元素的值的是( )。 A.*(p+1) B.*(++a) C.p[1] D.*&a[1] 18、有定义如下: struct test { int a;int b[2]; }s[3]={{111,1,2},{222,3,4},{333,5,6}}; 则s[1].b[0]的值是( ). A。 3 B. 4 C。 5 D。 6 19、若要以写的方式创建新的文本文件,则在fopen函数中使用的打开方式是( ). A.”w" B.”rb" C.”rb+” D."a+b” 20、若有定义:int a[5][2]={7,6,5,4,3,2,1}, *p=a[1];则*(++p)的值是( )。 A。2 B.3 C。4 D。5 二、阅读程序题,写出下列程序的运行结果。(本题10小题,每小题3分,共30分) 1、main() { FILE *fp;int i,buf[]={8,7,6,5,4,3,2,1}; fp=fopen("mytest。dat”,"wb+”); fwrite(buf,sizeof(int),8,fp); fseek(fp,sizeof(int)*4,SEEK_SET); fread(buf,sizeof(int),4,fp);fclose(fp); for(i=0;i<8;i++) printf("%d”,buf[i]); } 输出结果为:______________________________。 2、main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(”a=%d,b=%d\n",a,b); } 输出结果为:______________________________。 3、#include 〈string。h> main() { char p[20]={’a’,'b’,’c’,’d’},q[]="abc”, r[]=”abcde"; strcpy(p+strlen(q),r); strcat(p,q); printf(”%d %d\n”,sizeof(p),strlen(p)); } 输出结果为:______________________________。 4、以下程序设从键盘输入ABC后按〈Enter>键. void f() { char ch=getchar(); printf(”%c”,ch); if(ch!='\n') f(); printf(”%c",ch); } void main() { f(); } 输出结果为:______________________________。 5、main( ) { char *q[4]={”NANJING”,”BEIJING”,”HANGZHOU”,”SHANGHAI”}; char **p=q; for (int i=0;i<4;i++,p++) printf(”%c ”, *(*p+3)+1); } 输出结果为:______________________________。 6、int n; void f (int n ) { static int a=3; n+=2; a++; printf("%d %d ”,n,a); } main() { f(n);f(n=5); printf(”%d ”,n); } 输出结果为:______________________________. 7、main() { int x,y,z; x=y=z=0; ++x||++y&&++z; printf("%d %d %d\n",x,y,z); } 输出结果为:______________________________。 8、void f(int *q) { int i; for(i=0;i〈5;i++) -—(*q); } main() { int a[5]={6,6,6,6,6},i; f(a+2); for(i=0;i<5;i++) printf("%d",a[i]); } 输出结果为:______________________________。 9、main() { char str[3][7]={”1234”,”5678"},*myp[2]; int i,j,s=0; for(i=0;i<2;i++) myp[i]=str[i]; for(i=0;i<2;i++) for(j=1;myp[i][j]!=’\0';j+=2) s=10*s+myp[i][j]—’0’; printf("%d\n",s);} 输出结果为:______________________________。 10、struct NODE { int num; struct NODE *next;}; main( ) { struct NODE a[3]={{0,a+1},{0,a+2},{0,a}},*p=&a[0],*q=&a[1],*r=&a[2]; p—〉num=77; q—>num=88; r—>num=99; p-〉next=q;q—〉next=r;r—>next=NULL; printf(”%d\n”,p-〉next-〉next—>num); } 输出结果为:______________________________。 三、程序填空题(共7小题,每空2分,共20分) 1、下面程序的功能是判断short型能表示的最大值.请填空。 main() { short n=0,m; while(1) { m=n; n++; if(n<0) _______________; } printf(”%d\n”,m); } 2、建立一个链表,将存储在字符数组中的字符依次转储到链表的各个结点中。 #include 〈stdlib。h〉 typedef struct node { char data; struct node *next; }NODE; NODE* CreatList(char s[]) { NODE *head,*p,*last=NULL; while(*s!=’\0') { p=______________________________; p—>data=*s++; p—>next=NULL; if(last!=NULL) last—〉next=p; else head=p; last=p; } return _______________; } main() { char s[]="Hello 2012!”; NODE *head; head=CreatList(s); } 3、以下程序的功能是:输入两个整数,求出它们的最大公约数并输出,请填空。 int gcd(int a,int b) { int k; k= _______________; while(k!=0) { a=b;b=k; k=a%b; } _______________; } main( ) { int a,b; scanf(”%d%d",&a,&b); printf("%d",gcd(a,b)); } 4、将一个字符串中的小写字母变为大写字母,其他字符不变. main() { char s[]= "Hello,2012!”,*q; q=s; while (*q) { if(*q〉=’a’ && *q〈='z') _______________; q++; } printf(”%s\n",s); } 5、将有N个元素的数组a中的数据逐个前移,第一个元素移到最后面.如有数组: 1 2 3 4 5 6 7 8移动后的结果为: 2 3 4 5 6 7 8 1。 #define N 8 main() { int a[N]={1,2,3,4,5,6,7,8},i,t; t=_______________; for (i=0;i<N-1;i++) _______________; a[N-1]=t; for(i=0;i<N;i++) printf(”%d ",a[i]); } 6。 下面程序打出如下图案: * *** ***** ******* main( ) { int i,j; for(i=1;i<=4;i++) { for(j=1;j<40-i;j++) printf(" "); for(j=1;j〈=2*i-1;j++) _______________; printf("\n"); } } 7. 以下程序中函数fun的功能是:统计结构体数组中所有成绩不及格的女同学(sex为’F’)的个数,存入变量n中,并做为函数值返回。 #define N 5 typedef struct stduent { int no;char nam[9]; char sex;float score;}STU; int fun(STU s[]) { int i,n=0; for(i=0;i<N;i++) if(______________________________) n++; return n; } main() { STU a[N]={{1,"Kate",'F’,88},{2,"Bob”,’M',66},{3,”Tom”,’M’,77}, {4,"Betty",’F',51},{5,"Sarah”,’F’,57}}; int n; n=fun(a); printf("n=%d\n”,n); } 四、编程题(共3小题,每小题10分,共30分) 1、统计一个字符串中大写字母、小写字母、数字字符和其他字符的个数。 2、从键盘输入10个整数建立一个数组,请将该数组的最大值和位置打印出来,寻找最大值和位置的工作必须在子函数内完成,由主函数调用。 3、编程求一个字符串的长度,不得使用string。h中的库函数。函数原型如下,请完成该函数,并写出主函数予以测试。 int mystrlen(char *s);/*当s为“Hello”时,长度为5*/ 11
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服