《c语言考试.pdf》由会员分享,可在线阅读,更多相关《c语言考试.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、选择1若a为int 类型,且其值为 3,则执行完表达式 a+=a-=a*a后,a的值是()。A、9 B、-12 C、6 D、-3 2 用下列语句定义 a,b,c,然后执行 b=a、c=b+b,则b,c的值是()。long a=0 xffffff;int b;char c;A、指向同一地址B、-1和98 C、-1和97 D、0ffffff 和 0 x61 3下列数组说明中,正确的是()。A、int array;B、int array3;C、int array4;D、int array5;4以下选项中,与 k=n+完全等价的表达式是()。A、k=n,n=n+1 B、n=n+1,k=n C、k+=n
2、+1 D、k=+n 5以下叙述中正确的是()。A、构成 C程序的基本单位是函数B、所有被调用的函数一定要在调用之前进行定义C、可以在一个函数中定义另一个函数D、main()函数必须放在其它函数之前6一个C程序的执行是从()。A、本程序文件的第一个函数开始,到本程序 main函数结束B、本程序的 main函数开始,到main函数结束C、本程序的 main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束7以下定义语句中,错误的是()。A、char*a3;B、int a=1,2;C、char s10=test;D、int n=5,an;8以下对一
3、维整型数组 a的正确说明是()。A、#define SIZE 10 (换行)int aSIZE;B、int a(10);C、int n;scanf(%d,&n);int an;D、int n=10,an;9以下程序运行后的输出结果是。struct STU char name10;int num;int score;main()struct STU s5=YangSan,20041,703,LiSiGuo,20042,580,WangYin,20043,680,SunDan,20044,550,Penghua,20045,537,*p5,*t;int i,j;for(i=0;i 5;i+)pi=
4、&si;for(i=0;i 4;i+)for(j=i+1;i score pj-score)t=pi;pi=pj;pj=t;printf(%d%dn,s1.score,p1-score);A、580 680 B、680 680 C、580 550 D、550 580 10 以下数据中,不正确的数值或字符常量是()。A、0 B、o13 C、5L D、9861 11char h,*s=&h;可将字符 H通过指针存入变量 h中的语句是()。A、s=H B、*s=H;C、s=H;D、*s=H;12以下选项中不正确的实型常量是A、456e-2 B、0.05e+1.5 C、2.670E-1 D、-77.7
5、7 13若要打开 A盘上user子目录下名为 abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。A、fopen(A:userabc.txt,rb)B、fopen(A:userabc.txt,r)C、fopen(A:userabc.txt,w)D、fopen(A:userabc.txt,r+)14若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A、n=*q;B、p=q;C、p=n;D、*p=*q;15结构化程序由三种基本结构组成,由这三种基本结构组成的算法A、只能完成一些简单的任务B、只能完成部分复杂的任务C、可以完成任何复杂的任务D、只能完成
6、符合结构化的任务16以下不正确的说法是:C语言规定()。A、实参可以为任何类型B、形参可以是常量,变量或表达式C、形参应与其对应的实参类型一致D、实参可以是常量,变量或表达式17经过以下语句定义后,表达式z+=xy?+x:+y的值为()。int x=1,y=2,z=3;A、6 B、3 C、2 D、5 18在C语言中,调用函数除函数名外,还必须有()。A、()B、实际参数C、函数返回值D、函数预说明19设变量定义为 int x,*p=&x;,则&(*p)相当于A、*(&x)B、*p C、p D、x 20下列字符数组长度为 5的是A、char c10=h,a,b,c,d;B、char b=h,a,
7、b,c,d,0;C、char a=h,a,b,c,d;D、char d6=h,a,b,c,0;判断1 有如下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是 *(P+8).2 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);中,含有的实参个数是 5.3 通过 return语句,函数可以带回一个或一个以上的返回值。4在Turbo C中,下面的定义和语句是合法的:file*fp;fp=fopen(a.txt,r);5 共同体变量所占的内存长度等于最长的成员的长度。填空1在对文件进行的操作过程中,若要求文件的位置回到文件
8、的开头,应当调用的函数是 _。2 冒泡排序算法在最好的情况下的元素交换次数为_ 3若变量已正确定义,以下语句段的输出结果是_。x=0;y=2;z=3;switch(x)case 0:switch(y=2)case 1:printf(*);break;case 2:printf(%);break;case 1:switch(z)case 1:printf($);case 2:printf(*);break;default:printf(#);4 表达式 3.5+1/2的计算结果是 _。5 表达式(int)(double)(5/2)+2.5)的值是 _.程序设计/*程序定义了 NN的二维数组,并在
9、主函数中自动赋值。请编写函数 fun(int aN,int n),函数的功能是:使数组左下三角元素中的值乘以 n。例如:若 n的值为 3,a数组中的值为|1 9 7|3 9 7|a=|2 3 8|则返回主程序后 a数组中的值应为|6 9 8|4 5 6|12 15 18|注意:部分源程序存在文件PROG1.C 中。请勿改动主函数 main和其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。*/#include#include#define N 5 void fun(int aN,int n)/*Begin */*End */main()void NONO();int aNN
10、,n,i,j;printf(*The array*n);for(i=0;iN;i+)for(j=0;j=3);printf(n=%4dn,n);fun(a,n);printf(*THE RESULT*n);for(i=0;iN;i+)for(j=0;jN;j+)printf(%4d,aij);printf(n);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,j,n,a55;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i 5;i+)for(j=0;j 5
11、;j+)fscanf(rf,%d,&aij);fscanf(rf,%d,&n);fun(a,n);for(i=0;i 5;i+)for(j=0;j 5;j+)fprintf(wf,%4d,aij);fprintf(wf,n);fclose(rf);fclose(wf);程序填空/*-【程序填空】-功能:已定义一个含有 30个元素的数组 s,函数fun1的功能是按顺序分别赋予各元素从 2开始的偶数,函数fun2则按顺序每五个元素求一个平均值,并将该值存放在数组 w中。-*/#include long int s30;float w6;fun1(long int s)int k,i;for(k=2
12、,i=0;i30;i+)/*FILL*/_ k+=2;fun2(long int s,float w)float sum=0.0;int k,i;for(k=0,i=0;i30;i+)sum+=si;/*FILL*/_ wk=sum/5;/*FILL*/_ k+;main()int i;fun1(s);/*FILL*/_;for(i=0;i30;i+)if(i%5=0)printf(n);printf(%8.2f,si);printf(n);for(i=0;i6;i+)printf(%8.2f,wi);程序改错/*-【程序改错】-功能:利用二维数组输出如图所示的图形。*-*/#include#include /*ERROR*/#define N=7 main()char aNN;int i,j,z;for(i=0;iN;i+)for(j=0;jN;j+)/*ERROR*/aij=;z=0;for(i=0;i(N+1)/2;i+)for(j=z;jN-z;j+)aij=*;z=z+1;/*ERROR*/z=0;for(i=(N+1)/2;iN;i+)z=z-1;for(j=z;jN-z;j+)aij=*;for(i=0;iN;i+)for(j=0;jN;j+)/*ERROR*/printf(%d,aij);printf(n);