大连理工大学C语言题库12doc.docx
- 文档编号:7683096
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:19.04KB
大连理工大学C语言题库12doc.docx
《大连理工大学C语言题库12doc.docx》由会员分享,可在线阅读,更多相关《大连理工大学C语言题库12doc.docx(11页珍藏版)》请在冰豆网上搜索。
大连理工大学C语言题库12doc
[第十二套】
一、单项选择
1.若x,i,j,k都是int型变量测计算x=(i=4,j=16,k=i+32)后,x的值为()。
D、36
2.整型变量x=l,y=3,经下列计算后,x的值不等于6的是()。
D、x=y<2?
6:
5
3.以下程序的输出结果为()。
main()
(inti=010J=10;
printf("%d,%d\n",++i,j-);
}
A、9,10
4.如下说法不正确的是()。
D、若b为假测!
b+l为假
5.下列()表达式的值为真,其中a=5;b=8;c=10;d=0
C、a-b 6.以下能计算1X2X3X--X10的程序段是()。 C、i=l;s=l;do(s=s*i;i++;}while(i<=10); 7.以下正确的描述是()。 Axcontinue语句用来终止本次循环,继续下一次循环。 8.下面各语句中,能正确进行赋字符串操作的语句是()。 B、chars2[6]=(,A,;B,/,C7D,;E,}; 9.下述对C语言字符数组的描述中,错误的是()。 C、可以通过赋值运算符七“对字符数组整体赋值. 10.若有说明inta[3][4]测对a数组元素的正确引用是()。 C、a[l+l][0] 11.程序运行结束后,屏幕上输出值为()。 staticintx=10; f() (x++; } main() (intx=3; f(); x--; printf("%d”,x); ) B、2 12.C语言规定,函数返回值的类型是由()。 A、在定义该函数时所指定的函数类型所决定 13.若调用一个函数,且此函数中没有return语句,则正确的说法是: 该函数()。 B、返回一个不确定的值 14.设有宏定义#definePI3.14和#defineS(r)Pl*r*r,则S (2)的值为()。 B、12.56 15.下面选择中正确的赋值语句是(设chara[5]/p=a;)()。 A、p="abcd"; 16.staticstruct(intal;floata2;chara3;}a[10]=(13-5/A'};说明数组a是地址常量,它有10 个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。 A、a[0] 17.在C程序中,可以一次写入一组数据到指定文件中的函数是()。 C、fwrite 二、判断 1.整型变量在可输出字符范围内,可以和字符型数据相互转化.Y 2.putchar函数的原型(函数说明)在stdio.h内.Y 3.设i=l,j=2,k=3,则逻辑表达式! (i>j)||! k&&l的值为0.N 4.已知三目运算expl? exp2: exp3的含义是先求expl,若为0,则求解exp2,则表达式值为exp2的值,否则是exp3的值.N 5.对于for俵达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. N 6.for循环可以用于循环次数不确定而给出循环条件的情况下.Y 7.设有数组定义: chararray[]=nhello";则数组array所占的内存空间为5字节.N 8.数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.Y 9.puts函数用来输出一个字符.N 10.在一个函数中定义的静态局部变量不能被另外一个函数所调用.Y 11.C语言中,只允许直接递归调用而不允许间接递归调用.N 12.数组名可作为函数的实参,但不能作为函数的形参.N 13.计算机编译系统对宏定义在编译时进行语法检查.N 14.定义intk[]={l,2,3,4},M,*p=&k[l];J8! )执行V=(*・・p)++后,y的值不是2.Y 15.在定义结构体变量时,允许使用初始化方法对其整体赋初值.Y 16.C语言中,在打开文件时,必须说明文件的使用方式,用于文件的读写.N 三、填空 1.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为 n的值为・106 2.设(k=a=5,b=3,a*b),则表达式的值为.15 3.若intx=6;则x+=x・=x*x表达式最后x的值是・-60 4.设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=! (a+b)+c-l&&b+c/2后,t的值是 5.C语言中,数组元素的下标下限为.0 6.局部静态变量是在静态存储区分配存储单元的,在整个程序运行期间始终占的. 内存 7.设有以下共用体类型说明和变量定义,在TC编译环境下,变量d在内存所占字节数是 unionstud {shortintnum; charname[8]; floatscore[3]; doubleave; }d,stu⑶;12 8.feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为o非零值 四、程序设计 1./* 【程序设计】 功能: 将主函数中输入的字符串反序存放。 例如: 输入字符串“abcdefg”,则应输出“gfedcba”。 include"stdio.h" #include"string.h" #include"conio.h" #defineN81 voidfun(char*str,intn) /*********Begjn**********/ /**********End**********I } TestFunc() { FILE*IN,*OUT; charslN[20]/sOUT; intiLENGTH; IN二fopen(%.dat“,”r“); if(IN==NULL) { printff'PleaseVerifyTheCurrerntDir..ItMayBeChanged"); } OUT=fopen("out.dat"/"w,'); if(OUT==NULL) ( printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); fscanf(IN,"%s",slN); iLENGTH=strlen(slN); sOUT=slN; funfsINJLENGTH); fprintf(OUT,”%s\n”,sOUT); fclose(IN); fclose(OUT); ) main() { chars[N]; intI; printf(Hinputastring: ");gets(s); l=strlen(s); fun(s,l); printf("Thenewstringis: ");puts(s); TestFunc(); ) 【参考代码】 intij; charc; for(i=Oj=n-l;i (c=*(str+i); *(str+i)=*(str+j); *(str+j)=c;} 2/* 【程序设计】 功能: 从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。 例如: 当s中的数为: 7654321时,t中的数为: 642o */ #include"stdio.h" longfun(longs) ******** Begin ********* /**********End**********I } main() ( longs,m; voidTestFunc(); printf("\nPleaseenters: ");scanf("%ld"z&s); m=fun(s); printf("Theresultis: %ld\n",m); TestFunc(); } voidTestFuncf) ( FILE*IN,*OUT; intn; longi,m; IN=fopen(,,in.dat",,,rn); if(IN==NULL) ( printff'ReadFileError"); } OUT=fopen(,,out.dat,,,,,w"); if(OUT==NULL) ( printf("WriteFileError"); } for(n=0;n<5;n++) { fscanf(IN,“%ld”,&i); m=fun(i); fprintf(OUl/%ld\n”,m); } fclose(IN); fclose(OUT); 【参考代码】 longsl=10,t; S/=10; t=s%10; while(s>0) (s=s/100; t=s%10*sl+1; si=si*10; } returnt;; 五、程序改错 1./* 【程序改错】 功能: 实现两个字符串的连接。 例如: 输入dfdfqe和12345时,则输出dfdfqel2345. #include,'stdio.hHmain() charsl[80],s2[80]; voidscat(charsl[],chars2[]); gets(sl); gets(s2); scat(sl,s2); puts(sl); )voidscat(charsl[],chars2[]) inti=0J=0; /**********ERR0R**********/while(sl[i]=='\0')i++; /**********ERROR**********/ while(s2[j]=='\0') 、**********ERROR*********s2Dus=e ++ ++ 、**********error********** S2DII.\3 【咫第二 【陆濂唳Mlwh--e(sl【-】n."o-)++wh--e(sls)++wh--e(slsllNULL)++wh=e(slmllo)++ 【殍5®2】 wh一一e(s2E-ll/0.)Wh=e(s2s) wh一一e(s2E-ITNULL)Wh--e(s2siro) 【泻薜3】【喘破略淋】S1【_IIS2S 【话普1 【w皴聪MJSMll/5s=一llNUE普(S1±.)'L\5si【一110“ 【程序改错】 题目: 输出某学生出生的月份。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ #include"stdio.h" main() { structstudent ( intyear; intmonth; intday; }birth; /**********Error**********/ scanf("%d%d%d",&year.birth/&month.birth,&day.birth); /**********ERROR**********/ printf("mon=%f\n',/month.birth); ) 【改错1】 【参考答案】 scanf(l,%d%d%d,l/&birth.year/&birth.month/&birth.day); 【改错2】 【参考答案】 printf("mon=%d\n",birth.month); 六、程序填空 1./* 【程序填空】 功能: 在任意的字符串a中将与字符c相等的所有元素的下标值分别存放在整型数组b中。 */ #include inti,b[80],k=0; gets(a); for(i=0;a[i]! =*\0';i++) /***********F]ll***********/ if() /***********Fill***********/ {b[k]=i;} for(i=0;i return0; } 【空1】 【参考答案】 a[i]==V 【空2】 【参考答案】 k++ k=k+l k+=l 2./* 【程序填空】 功能: 计算矩阵a的下三角(包含主对角线)元素之和,矩阵的行、列数和元素值均由键盘输入。 */ #defineM20 #include"stdio.h" intmain() ( inti,j,n,a[M][M]; ints=0; scanf(”%d”,&n); for(i=0;i /***********曰虬***********/ for()scanf(”%d“,&a[i][j]); for(i=0;i /***********F]ll***********/ for(j=0;;j++) /***********F]ll***********/ S=; printf("%d\n“,s); return0; } 【空1】 【参考答案】 j=0;j j=0;j 【空2】 【参考答案】 j<=i •>=j 【空3】 s+a[i]U] a[i][j]+s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 语言 题库 12 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)