广东工业大学C语言试卷及答案_第1页
广东工业大学C语言试卷及答案_第2页
广东工业大学C语言试卷及答案_第3页
广东工业大学C语言试卷及答案_第4页
广东工业大学C语言试卷及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广东工业大学试卷用纸,共8页,第8页广东工业大学考试试卷(A)课程名称:广东工业大学考试试卷(A)课程名称:C语言程序设计试卷满分100分考试时间:2008年12月30日(第18周星期二)题号一二三四五六七八九十总分评卷得分评卷签名复核得分复核签名一、单选题(每题2分,共60分)1.以下描述正确的是CA)C程序的执行是从main()函数开始,到本程序的最后一个函数结束B)编译程序对C源程序编译时不检查语法C)C程序中没有输入输出语句D)在一个C程序中main()函数必须出现在所有函数之前2.结构化程序设计不应该使用BA)自顶向下,逐步细化的方法B)灵活、简洁的goto结构C)模块化设计D)三种基本结构:顺序结构、选择结构、循环结构的编码方法3.将C源程序进行B可得到目标文件。A)编辑 B)编译C)连接 D)运行4.在C语言中,变量所分配的内存空间大小CA)均为两个字节B)由用户自己定义C)由变量的类型决定D)是随意的5.以下不能定义为用户标识符是D学院:专业:学号:姓名:装订线A)minB)_01C6.以下选项中可作为C语言合法常量的是DA)3e2.0B)081C)e37.若有语句charc;,并要将字符a赋给变量c,则下列赋值表达式正确的是B。A)c=a B)c=’a’C)c=”a” D)c=’978.有程序段:inta,b;scanf(“%d,%d”,&a,&b);请为之选择运行时正确的输入方法_____B___A)12↙B)1,2↙C)1↙2↙D)1;2↙9.若有语句intx=5;则执行语句x+=x*=10;后,a的值是A。A)100 B)55 C)60 D)10.下列语句合法的是B。A)4+a=b=0; B)a=++b;C)a=2=b=6; D)a=4++;11.执行以下语句,输出结果是C。intx=2;printf(“%d”,((x=4*5,x*5),x+20));A)120 B)100 C)40 D)2012.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为_C__A)由实参传给形参,再由形参传回给实参B)地址传递C)单向值传递D)由用户指定传递方式13.以下选项中非法的表达式是A。A)7.5%2/2 B)x=y=0C)(char)(66+1) D)’14.下列程序的输出结果是D。voidmain(){floata=3.2;intb,c;b=1.2;c=(b+3.8)/5.0;printf(“%d\n”,a*c);}A)3 B)3.2 C)3.07 D)015.C语言中用于结构化程序设计的三种基本结构是A。A)顺序结构、选择结构、循环结构 B)if,switch,breakC)for,while,do-while D)if,for,continue16.执行以下程序,输出结果是D。intx,y=3,z=2;x=(--y==z++)?--y:++z;printf(“x=%dy=%dz=%d”,x,y,z);A)x=4y=2z=4 B)x=3y=2z=3C)x=4y=1z=4 D)x=1y=1z=317.已有定义:chara[]="abc",b[]={'a','b','c'};以下叙述中正确的是CA)数组a和b的长度相同B)a数组长度小于b数组长度

C)a数组长度大于b数组长度D)上述说法都不对18.执行以下程序,输出结果是C。voidmain(){intx=3,y=4,z=2,i;i=x<!y&&(z=10)>y;printf(“i=%dz=%d”,i,z);}A)i=0z=10 B)i=1z=10C)i=0z=2 D19.用数组名作为函数调用时的实参,实际上传送给形参的是AA)数组首地址B)数组的第一个元素值C)数组中全部元素的值D)数组元素的个数20.执行如下语句,输出c的值是C。intc=1,x=3;switch(x+1){case4:c++;case6:c++;break;default:c++;}printf(“%d”,c);A)1 B)2 C)3 D)21.若有定义:inta[2][3];则对a数组的第i行j列元素的正确引用为AA)*(a[i]+j)

B)*(a+i)+j

C)*(a+i+j)

D)a[i]+j22.若有如下程序:voidmain(){intx=1,a=0;do{a++;}while(x,x--);}则语句a++;执行的次数是C。A)0 B)1C)2 D)23.以下程序中,while循环的循环次数是D。voidmain(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}……}A)1 B)10C)6 24.下面能正确定义一维数组的选项是B。A)intnum[]; B)#defineN10intnum[N];C)intnum[0..10]; D)intN=10;intnum[N];25.在C语言中,函数的隐含存储类别是C。A)auto B)staticC)extern D)无存储类别26.以下程序的输出结果是C。voidmain(){ charstr[20]=”hell\0o\t”; printf(“%d%d\n”,strlen(str),sizeof(str));}A)97 B)720 C)420 D)202027.下列选项中不正确的语句组是A。A)chars[10];s=“Beijing”;B)chars[]=“Beijing”C)char*s=“Beijing”;D)char*s;s=“Beijing”;28.有如下程序,执行后输出的结果是C。voidf(intx,inty){ intt; if(x<y){t=x;x=y;y=t;}}voidmain(){ inta=1,b=3,c=2; f(a,b);f(a,c);f(b,c); printf(“%d,%d,%d\n”,a,b,c);}A)3,2,1 B)1,2,3 C)1,3,2 D)2,3,129.执行如下程序段后,a的值为C。int*p,a=1,b=2;p=&a;a=*p+b;A)1 B)2C)30.下列关于C语言数据文件的叙述中正确的是C。A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件D)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(每空2分,共40分)1.若输入字符串:abcde<回车>,则以下while循环体将执行(1)0次。while((ch=getchar())==’d’)putchar(ch);2.设有下列定义语句intx[3]={3,4,5},*p1=x,**p2=&p1;则表达式**p2的值是3(2),表达式*(*p2+1)的值是4(3)。3.以下函数的功能是:求x的y次方,请填空。doublefun(doublex,inty){ inti; doublez; for(i=1,z=x;i<y;i++) z=z*x(4); returnz;}4.若有以下程序段,请填空。structstr{ inta; structstr*next;}*p1;p1=(structstr*(5))malloc(sizeof(structstr));5.设有以下定义:structs{ intinfo; structs*next;}x,y,z;xyz已建立如下图所示链表结构:xyz请写出删除节点y的赋值语句x.next=y.next;(6)6.以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母(字母A的ASCII码为65,字母a的ASCII码为97),输出到文件test.txt中。#include<stdio.h>voidmain(){ FILE*fp; charstr[100];inti=0; if((fp=fopen(“text.txt”,“w”(7)))==NULL) { printf(“can’topenthisfile.\n”);exit(0);} printf(“inputastring:\n”);gets(str); while(str[i]) { if(str[i]>=’a’&&str[i]<=’z’) str[i]=str[i]-32(8); fputc(str[i],fp); i++; } fclose(fp);}7.下面程序是对10个数排序(由小到大)#include<stdio.h>voidmain(){inta[11];inti,j,t;printf(″input10numbers:\n″);for(i=1;i<=10;i++)scanf("%d",&a[i]);printf("\n");for(i=1;i<=9;i++)for(j=i+1;j<=10;j++)if(a[i]>a[j](9)){t=a[i];a[i]=a[j](10);a[j]=t;}printf(″thesortednumbers:\n″);for(i=1;i<11;i++)printf(″%d″,a[i]);printf(″\n″);}8.有3个学生,各学3门课,计算总平均分数。#include<stdio.h>voidaverage(float*p,intn){floatsum=0,aver;float*p_end;p_end=p+n(11);for(;p<p_end;p++)sum=sum+(*p)(12);aver=sum/n;printf(″average=%5.2f\n″,aver);}voidmain(){floatscore[3][3]={{65,67,70},{80,87,90},{90,99,100}};average(*score,9)(13);/*求9个分数的平均分*/}9.执行以下程序,输出结果是4(14)。voidmain(){inta=6,b=5,c=4,d=3;if(a>b>c)printf(“%d\n”,d);elseif((c-1>=d)==1)printf(“%d\n”,d+1);elseprintf(“%d\n”,d+2);}10.执行以下程序,输出结果是24(15)。voidmain(){inta[4][4]={{1,2,-3,-4},{0,-5,-6,7},{-8,9,0,-10},{-11,12,-13,0}};inti,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++){ if(a[i][j]<0)continue; if(a[i][j]==0)break; s+=a[i][j];}printf(”%d\n”,s);}11.执行以下程序,输出结果是125(16)。voidfun(intx){ if(x/2>0)fun(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论