《C语言编程基础》试卷_第1页
《C语言编程基础》试卷_第2页
《C语言编程基础》试卷_第3页
《C语言编程基础》试卷_第4页
《C语言编程基础》试卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

《C语言编程基础》试卷题号-一一-二二三四五六总分分数404060301020200得分一、填空题:(每空2分,共40分)1、十进制数125用一个字节的二进制表示是TOC\o"1-5"\h\z2、 源程序经过编译后产生的结果称为 ,其扩展名为 。3、 一个C语言函数由 和 两部分组成。4、 设指针变量fp,打开指定名为“abb.txt”的ASCII码文件只是为了写的表达式为5、 在内存中应该开辟 个字节来存放一个字符。6、 字符串”ab\n\\012\\\'”的长度是 。7、 以下程序的输出结果是 。#include<stdio.h>main(){inti=6,j;j=(++i)+(i++);printf(“j=%d\n”,j);}TOC\o"1-5"\h\z8、 有intx,y;执行y=(x=1,++x,x+2)后,赋值表达式的值为 。9、 在C语言中,没有专门为存储字符串的变量,但可以用 来存储字符串,其定义格式为 。10、 设x,y,z均为int型变量,请写出描述x,y和z中有两个为负数的表达式: 。11、 下列程序段中循环体的执行次数 。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);12、 定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是 ,a[2][1]得到的初值是 。13、 下面程序段的运行结果 。charx[]=”theteacher”;i=0;while(x[++i]!='\0')if(x[i-1]=='t')printf(“%c”,x[i]);14、程序#include<stdio.h>main(){intj,i=1;j=-i++;printf(“%d,%d\n”,j,i);}运行后输出结果为 15、 程序#include<stdio.h>main(){inta=177;printf(“a=%o\n”,a);}运行后输出结果为 16、 若有以下定义:inta[]={1,2,3,4,5,6,7,&9,10},*p=a;则语句:p+=2,*(p++);执行后的结果(值)是 二、选择题:(每题2分,共40分)1、 程序:main(){inta=4,b=3,c=1,d=2,e=0;if(a>b){if(c>d)e=1;}elsee=4;printf(“%d\n”,e);}运行结果为().TOC\o"1-5"\h\zA、0 B、4、 C、6 D、82、 下列字符中不属于转义字符的是( )。A、\nB、\k C、\b D、\t3、 下面对变量说明正确的是()。A、Inta,b,c;B、intx,floaty;C、inta,x;D、inta,x4、 以下正确的叙述是( )。A、 在C程序中,每行中只能写一条语句。B、 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。C、 在C程序中,无论是整数还是实数,都能被准确无误地表示。D、 在C程序中,运算符%只能用于整数运算。5、 若以下变量均是整型,且num=sum=7,则计算表达式sum二num++,sum++,++num后的值为()。A、7 B、8 C、9 D、106、 设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是()。A、x=10,y=15,z=10 B、x=10,y=10,z=10 C、x=10,y=10,z=15 D、x=10,y=5,z=107、 变量的类型说明如下:inti=&k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是()。A、a+=a-=(b=4)*(a=3) B、a=a*3=2 C、x%(-3)D、y=float(i)8、 以下说法正确的是()。A、输入项可以为一个实型常量,如scanf(“%f”,3.5);

B、只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”);C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);9、 以下9、 以下if语句语法正确的是()。A、if(x〉0)printf(“%f”,x)elseprintf(“%f”,-x);C、if(x〉0){x=x+y;printf(“%f”,x);};10、 以下叙述中不正确的是( )。A、预处理命令行都必须以#号开始。B、if(x〉0){x=x+y;printf(“%f”,x);}elseprintf(“%f”,-x);D、if(x〉0){x=x+y;printf(“%f”,x)}elseprintf(“%f”,-x);B、 在程序中凡是以#号开始的语句行都是预处理命令行。C、 C程序在执行过程中对预处理命令行进行处理。D、#defineIBM_pc是正确的宏定义。11、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-‘3’;后,c2的值为()。TOC\o"1-5"\h\zA、D B、68 C、”0” D、C12、下面不正确的字符串常量是()。A、‘abc'B、”12.12” C、”0” D、13、 以下叙述不正确的是( )。A、 在C程序中,逗号运算符优先级最低。B、 在C程序中,APH和aph是两个不同的变量。C、 若a,b类型相同,在计算a=b后b中的值将放入a中,而b中的值不变。D、 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数。14、 已知intx=10,y=20,z=30;执行语句if(x〉y)z=x;x=y;y=z;后,x,y,z的值是()。A、x=10,y=20,z=30 B、x=20,y=30,z=30C、x=20,y=30,z=10 D、x=20,y=30,z=2015、 设x,y均为float型变量,则以下不合法的赋值语句是()。A、++x;B、y=(x%2)/10; C、x*=y+8; D、x=y=0;16、 C语言中不合法的字符常量是()。A、'\0xff' B、'\029' C、'\68' D、'*'17、 程序main(){intk=2,m=4,n=6;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf(“%d\n”,n);}运行结果为()A、2B、4C、6D、818、 定义如下变量和数组:inti;intx[3][3]={l,2,3,4,5,6,7,8,9};则语句for(i=0;i〈3;i++)printf(“%d”,x[i][2-i]);的输出结果是( )。A、159 B、147 C、357 D、36919、 有以下定义语句:inta[]={0,1,2,3,4,5,0};下面选项中与其等价的是()。A、inta[7]={0,1,2,3,4,5,0}; B、inta[6]={,1,2,3,4,5};C、inta[7]={0,1,2,3,4,5,1}; D、inta[7]={0,0,1,2,3,4,5};20、 在程序:main(){inti,j;for(j=1;j〈=8;j++){for(i=1;i〈=10;i++)printf(“*”);printf(“\n”);}中,内层循环的循环体printf(“*”);共被执行了()次。A、10 B、40 C、60 D、80三、写出序的运行结果(每题4分,共60分)。1、 若执行以下程序时从键盘上输入9,则输出结果 main(){inta;scanf(“%d”,&a);if(a++〈10)printf(“%d\n”,a--);elseprintf(“%d\n”,a);}2、 main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d”,i,j,k);}运行结果为 3、 #include〈stdio.h>main(){inta=-1,b=4,k;k=(a++〈=0)&&(!(b--〈=0));printf(“%d,%d,%d\n”,k,a,b);运行结果为 4、 inta=5;fun(intb){staticinta=10;a+=b++;printf(“%d”,a);}main(){intc=20;fun(c);a+=c++;printf(“%d\n”,a);}运行结果为 5、main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;print(“%d\n”,s[2]);}运行结果为 6、#include<stdio.h>main(){inta=2,i;for(i=0;i<3;i++)printf(“%4d”,f(a));}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}运行结果为 7、 执行程序:#include<stdio.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)putchar('#');}运行结果为 8、 程序:main()inta=4,b=3,c=5,t=0;if(a>b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;printf(“%d,%d,%d\n”,a,b,c);}运行结果为 9、 程序:intd[5]={2};main(){inti;int*p=d;for(i=1;i<=4;i++){d[i]=*p+3;p++;}printf(“%d\n”,d[4]);}运行结果为 10、 程序:main(){inta=4;switch(a++){default:a+=10;case5:a+=10;case4:a+=10;break;}printf(“%d”,a);}运行结果为 11、 程序:main(){inta=0,b=0,i;for(i=0;i<10;i++)if(i%2)a+=i;elseb+=i;printf(“%d\t%d”,a,b);}运行结果为 12、 程序:main(){inti,j;i=100;j=200;printf(“(i++)+j=%d\n”,(i++)+j);i=100;j=200;printf(“i+(++j)=%d\n”,i+(++j));i=100;j=200;printf(“i+++j=%d\n”,(i+++j));}运行结果为13、程序:#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti,j,k;i=10;j=15;k=10+MIN(i,j);printf(“%d\n”,k);}运行结果为 14、程序:main(){inta=1;while(a<=15){if(a%3!=0){a++;continue;}printf(“%d”,a);a++;}printf(“\n”);} 运行结果为 15、程序:#include<string.h>main(){charp1[]=“abc”,p2[]=“ABC”,str[50]=“xyz”;strcpy(str,strcat(p1,p2));printf(“%s”,str);}运行结果为 四、根据要求,完成程序(每个空分,共30分)。1、下面程序的功能是在输入的一批正数中求出最大者,输入0结束循环#include<stdio.h>main(){inta,max=0;scanf(“%d”,&a);while( ){if(max<a)max=a;}printf(“%d”,max);}2、以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。main(){inta[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}};intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};inti,j,c[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)}}3、 下面程序的功能是在一个数组中查找一个指定的字符,若数组中含有该字符则输出该字符在数组中第一次出现的位置(下标值),否则输出-1。#include<stdio.h>#include<string.h>main(){charc='a',t[50];intn,k,j;gets(t);n= ;for(k=0;k<n;k++)f( ){j=k; }elsej=-1;printf(“%d”,j);}4、 下面程序的功能是输出以下形式的金字塔图案,请填空:* main()*** {intI,j;***** for(i=1;i<=4;i++)******* {for( )printf(““);for(j=l;j〈= ;j++)printf(“*”);printf(“\n”);}}5、以下程序的功能是:输入某一公元年份,判断是否为闰年,请填空#include<stdio.h>main(){inty;scanf(“%d”,&y);if( )printf(“闰年”);elseprintf(“平年”);}6、下面程序功能是求100!,请填空:#include<stdio.h>main()inti=1;doubles=1;do{ i++;}while printf(“l*2*3*・・・*100=%f”,s);}7、下面程序功能是将两个整数按从小到大的顺序输出,请填空:#include<stdio.h>#include<string.h>voidabc(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b;int*r,*s;scanf(“%d,%d”,&a,&b);printf(“%d,%d\n”,a,b);}五、判断题:(每题2分,共10分)。( )1、语句:inti,*p=i;是正确的C说明语句。( )2、变量定义语句:floatx,y,do;是错误的。( )3、表达式:(x+y)++使x+y的值增加1。( )4、C程序一行可以写多条语句,但一条语句只能写在一行上。( )5、C语句for(;;)s中的语句s必执行无穷多次。六、编程题:(每题10分,共20分)1、输出如下形式的九九乘法表。#1234567891122433699918273645546372812、用scanf()函数建立一个3X3的数组b,输出各行元素之和。参考答案一、填空题(每空2分,共40分)1、01111101B(也可没有B)、2、目标文件、.OBJ3、函数头(函数说明部分)、函数体4、fp二fopen(“abb.txt”,”w”)5、1 6、9 7、j=148、4或y=49、字符型数组或字符型指针、charstr[6」;或char*str;(只要形式相同即可,标识符可不同)、10、(x〈0&&y〈0)||(x〈0&&z〈0)||(y〈0&&z〈0)11、312、0、613、he 14、-1,2 15、a=261 16、3二、选择题(每题2分,共40分)1、A、 2、B 3、C 4、D5、C6、A 7、A8、D9、A10、C11、B 12、A 13、D 14、B15、B16、B 17、D18、C19、A20、D三、写出程序运行结果(每题4分,共60分1、10 2、2,2,2 3、1,0,34、30255、06、7897、######8、5,4,39、14 10、15 11、25口口口口口口2012、(i++)+j=300 13、1514、369121515、abcABC i+(++j)=301i+++j=300四、 根据要求,完成程序(每题2分,共30分)1、 a或a!=0、scanf(“%d”,&a);2、 c[i][j]=a[i][j]+b[i][j];、 print

温馨提示

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

评论

0/150

提交评论