c语言大学题库pdf,大连理工大学C语言题库.pdf

本文档提供了大连理工大学C语言题库的多项选择题、填空题及程序设计题,涵盖了C语言的基本语法、运算符优先级、数组、函数调用、指针等知识点,并给出了部分题目的解答和程序实现。通过这些题目,读者可以检验和提升自己的C语言编程能力。
摘要由CSDN通过智能技术生成

《大连理工大学C语言题库.pdf》由会员分享,可在线阅读,更多相关《大连理工大学C语言题库.pdf(12页珍藏版)》请在装配图网上搜索。

1、第十一套】一、单项选择1以下不符合C语言语法的赋值语句是()。D、y=float(j);2以下运算符中,优先级最高的运算符是()。D、+3根据下面的程序,正确的输出形式是()。main() int i=5 ,j=1 0 ;printf (i=%d, i);printf (j=%d , j); A、i=5 , j=1 04int a=1 ,b=2 ,c=3 ; if(ac)b=a;a=c;c=b;则c的值为()。C、25在以下一组运算符中,优先级最高的运算符()。D、%6执行语句for(i=1 ;i+算术运算符-逻辑运算符-!.N4已知x=3 ,y=1 ,执行分支语句if(xy)t=x;x=y;。

2、y=t; else printf(error!);后,结果为error!.N5若有说明int c;则while(c=getchar();没有语法错误。Y6for循环的三个表达式中间用分号相分隔,并且分号不能省略.Y7若有语句: char a =string;则a6 的值为0 ;Y8数组整体可以参加各种数学运算,数组元素也可以参加各种数学运算.N 9C语言中引用数组元素的方括号可以用花括号代替.N1 0在C语言中,函数名仅仅代表函数的名称,没有任何含义.N1 1当全局变量与局部变量同名时,局部变量起作用.Y1 2在C程序中,函数可以嵌套定义,但不可以嵌套调用N1 3宏名有类型,其参数也有类型.N。

3、1 4用指针取值比用数组名取值速度要快.Y1 5结构体变量的成员可以象普通变量一样进行各种运算. Y1 6C语言中,遇到回车符号就意味着文件结束. N三、填空1已知:int i=8 ,j=1 0 ,m,n;m=+i;n=j+;问语句执行后m=_____,n=_____。9 1 02执行下列语句后,z的值是_____.int x=4 ,y=2 5 ,z=5 ; z=y/x*z; 3 03设x=2 则该数组可用的最小下标值是_____. 06在调用一个函数的过程中,直接或间接地调用该函数本身,称为函数的_____调用。递归7设有以下结构类型说明和变量定义,在TC编译环境下,变量a在内存所占字节数是。

4、 _____。3 4struct stud char name1 0 ; float s4 ; double ave; a,*p;8若有fp=fopen(a1 .dat,r+)打开文件语句,这个文件的数据是以_____的形式存放在内存中,该文件的使用方式为读/_____。文本写四、程序设计1/*-【程序设计】-功能:编写函数求1 0个数中的次大数,返回其值。注意:请勿改动主函数main和其它函数中的任何内容。-*/#include stdio.h int second_max(int a, int n) /*Begin*/* End */main() void TestFunc();int x。

5、1 0 =1 2 ,-4 ,5 ,8 ,0 ,9 ,-3 ,1 0 ,6 ,2 ; printf(this second max =%dn, second_max(x, 1 0 );TestFunc();void TestFunc() FILE *IN,*OUT;int i,b1 0 ;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read File Error); OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Error); for(i=0 ;i1 0 ;i+)fscanf(IN,%d,o=sec。

6、ond_max(b,1 0 );fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);【参考代码】int i,j,max,min,second_max;max=min=a0 ;for(i=1 ;imax) max=ai;if(aimin) min=ai;second_max=min;for(i=1 ;isecond_max return(second_max);=2/*-【程序设计】- 功能:编写函数fun求sum=d+dd+ddd+dd.d(n个d),其中d为1 -9的数字。例如:3 +3 3 +3 3 3 +3 3 3 3 +3 3 3 3 3 (此时d=3 。

7、,n=5 ),d和n在主函数中输入。-*/#include stdio.hmain() int d,n;long sum,fun();void TestFunc(); printf(d=);scanf(%d,printf(n=);scanf(%d,sum=fun(d,n); printf(sum=%ldn,sum);TestFunc();long int fun(int d,int n) /*Begin*/ /* End */void TestFunc() FILE *IN,*OUT;int n;int i2 ;long o;IN=fopen(in.dat,r);if(IN=NULL)prin。

8、tf(Read File Error); OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Error);for(n=0 ;n2 ;n+)fscanf(IN,%d,o = fun(i0 ,i1 );fprintf(OUT,%ldn,o); fclose(IN);fclose(OUT); 【参考代码】long int s=0 ,t=0 ;int i;for(i=1 ;i=n;i+) t=t+d;s=s+t;d=d*1 0 ;return s;= 五、程序改错1/*-【程序改错】-功能:删除w数组中下标为k的元素中的值。程序中,调用了getind。

9、ex、arrout和arrdel三个函数,getindex用以输入所删元素的下标,函数中对输入的下标进行检查,若越界,则要求重新输入,直到正确为止。arrout用以输出数组中的数据,arrdel进行所要求的删除操作。-*/ #include conio.h#include stdio.h#define NUM 1 0/*ERROR*/void arrout ( int w, int m ) int k;/*ERROR*/for (k = 1 ; k m; k+)/*ERROR*/printf (%d ,wm);printf (n); int arrdel ( int *w, int n, in。

10、t k ) int i; for ( i = k; i n-1 ; i+ )wi = wi+1 ;n-;return n;int getindex( int n ) int i;do printf(nEnter the index 0 = i %d : , n );scanf (%d, while( i n-1 );return i; main( ) int n, d, aNUM=2 1 ,2 2 ,2 3 ,2 4 ,2 5 ,2 6 ,2 7 ,2 8 ,2 9 ,3 0 ;n = NUM;printf (Output primary data :n); arrout ( a, n );d。

11、 = getindex( n ); n = arrdel ( a, n, d );printf (Output the data after delete :n); arrout( a, n );【改错1】【参考答案】 void arrout ( int *w, int m )void arrout ( int w, int m )=【改错2】【参考答案】for (k = 0 ; k m; k+)=【改错3】【参考答案】 printf (%d , wk);=2 /*- 【程序改错】-功能:编写函数fun生成一个对角线元素为5,上三角元素为0,下三角元素为1的3 *3的二维数组。-*/#incl。

12、ude stdio.hvoid fun(int arr3 ) /*ERROR*/int i,j /*ERROR*/for(i=1 ;i3 ;i+)for(j=0 ;ji)arrij=0 ;elsearrij=1 ;main() int a3 3 ,i,j;fun(a);for(i=0 ;i3 ;i+)for(j=0 ;j3 ;j+)printf(%d ,aij);printf(n);【改错1】【参考答案】int i,j; =【改错2】【参考答案】 for(i=0 ;i3 ;i+)=【改错3】【参考答案】if(i=j)=六、程序填空1/*-【程序填空】 -功能:函数fun的功能是:有NN矩阵,以。

13、主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。请用下标法访问数组元素。例如:若N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为1 0 06 5 01 0 1 4 9注意:请在下划线处填入正确的内容并把下划线删除。 不得增行或删行,也不得更改程序的结构!-*/#include #define N 3void fun(int (*t)N) int i,j;for(i=1 ;iN;i+) /*FILL*/for(j=0 ;_______;j+) /*FILL*/_________=tij+tji;/*FILL*/_________=0 ; main() 。

14、int tN=1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,i,j;printf(nThe original array:n);for(i=0 ;iN;i+) for(j=0 ;jN;j+) printf(%2 d ,tij);printf(n);fun(t); printf(nThe result is:n);for(i=0 ;iN;i+) for(j=0 ;jN;j+) printf(%2 d ,tij);printf(n);【空1】【参考答案】jj =【空2】【参考答案】tij=tij+tji;=【空3】【参考答案】tji= 2/*-【程序填空】-功能:根据整型参数m,计算如下公。

15、式的值 y=1 /(1 0 0 1 0 0 )+1 /(2 0 0 2 0 0 )+1 /(3 0 0 3 0 0 )+1 /(mm)例如:若m=2 0 0 0,则应输出0 .0 0 0 1 6 0。注意:请在下划线处填入正确的内容并把下划线删除。不得增行或删行,也不得更改程序的结构!-*/#include /*FILL*/_________ fun(int m) double y=0 ,d;int i;/*FILL*/for(i=1 0 0 ;_______;i+=1 0 0 ) d=(double)i*(double)i;/*FILL*/y+=1 /________;return(y);main() int n=2 0 0 0 ;printf(nThe result is %lfn,fun(n); 【空1】【参考答案】double=【空2】【参考答案】i=i= 【空3】【参考答案】d =。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值