1253C语言程序设计A.docx
- 文档编号:25413983
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:18
- 大小:23.03KB
1253C语言程序设计A.docx
《1253C语言程序设计A.docx》由会员分享,可在线阅读,更多相关《1253C语言程序设计A.docx(18页珍藏版)》请在冰豆网上搜索。
1253C语言程序设计A
一、单选题(每小题2分,共20分}
1.由C语言源程序文件编译而成的目标文件的缺省扩展名为。
2.设x和y均为逻辑值,则x」!
y为假的条件是(C.它们均为假)。
3.枚举类型中的每个枚举常量的值都是一个(A.整数)。
4.循环语句“for(i=0;1<-n;i十+)5;”中循环体S被执行的次数为十1)
5.假定有定义为”inta仁4][5〕二{{1,3,5},{2,8}};",则a[1]仁1]的值为
6.在下面的选项中,不能作为函数的返回类型的是。
7.假定x的值为5,y的值为6,则表达式x+十,一一y的值为。
8.用calloc函数创建具有10个整型元素的动态存储空间正确调用是(10sizeof(int)))
9.假定有定义“intb[10],*pb;",则不正确的赋值为=b[5])。
10.标准输人设备的文件流标识符是。
二、填空题(每小题2分,共26分)
1.执行“printf("%c",'A’十2);”语句后得到的输出结果为C。
int类型的长度为2
3.用类型关键字表示十进制常的类型为float。
4.假定y=10,则表达式++y*3的值为33
5.逻辑表达式(x==0&&y>5)的相反表达式为(x!
=011y<=5)
6.若x=5,Y=10,则x!
=y的逻辑值为1。
7.假定二维数组的定义为“inta[3][5];",则该数组所占存储空间的字节数为60
8.使用“typedefcharBB[10][50];”语句定义BB为含有10行50列的二维字符数组类型。
9.字符串“a八\xxk\\数据”的长度为11
10.假定p所指对象的值为25,p+1所指对象的值为46则,*++p的值为46。
11.假定一个数据对象为int,类型则指向该对象的指针类型为int**
12.假定一个结构类型的定义为“structA{inta,b;A。
;};”,则该类型的长度为12
13.假定要访问一个结构对象x中的数据成员a,则表示方式为。
三、写出下列每个程序运行后的输出结果(每小题6分,共30
1.#include
voidmain(){
inti,s=0
for(i二1;;i+十){
if(s>30)break;
if(i%2==0)s+=i;
}
printf("s=0od\n",s)
s=42
2.#include
voidmain()
inta[9]={36,25,48,24,55,40,18,66,20};
inti,bl,b2;
bl=b2=
for(i=1
a[0];
i<9;i++){
if(a[i]>bl)bl=a[i];
if(a[i] } printf("%d0od\n,bl,b2) 6618 3.#include voidSB(charch){ switch(ch){ case'A': case,a': printf("WW”);break case'B': case'b': printf("GG“);break default: printf("BB“);break; ) } voidmain(){ charal“'a',a2='B',a3二,f' SB(al);SB(a2);SB(a3); printf("\n"); } WWGGBB 4.#include #defineM6 voidmain() inti,x; inta仁M]={10,15 fore=O; for(i=0; KM/2 22,37,46,58); i++){x=a[i];a[i]=a[M一1一1〕;a仁M-1一i]=x i<6;i++)print("ood",aEi]); printf("\n"); 584637221510 5.#include structWorker charname[15];intage;floatpay; voidmain() structWorkerx={"wanghua',52,2350}; structWorkery,*p y二x;P=&x printf("%d\n",y.age+p一>age,p一>pay+20) 104 四、写出下列每个函数的功能(每小题6分,共12分) 1.intFH() intx,y=0; scanf("oo了,&x); while(x! 二一1){y+=x;scanf("%d‘,&x); returny; 函数功能: 1.求出从键盘上输人的一批整数的总和,以一1作为结束输人的标志。 ntFF(structIntNode*f)求出并返回由f所指向的单链表中所有结点的个数。 五、按题目要求编写程序或函数(每小题6分,共12分) 1.编写一个程序,利用while循环,计算并打印输出1十1/2+1/3十? +1/n的值,其中正整数n值由键盘输入。 假定求和变量用sum表示,计数变量用i表示,sum,i和n均定义为全局变量,sum和i的初值分别被赋予0和1, 1.#include<> intn,i=1; doublesum=0; voidmain() { scanf("%d",&.n); while(i<=n)sum+=(double)1/i++; printf("sum=%if\n",sum); } 2.根据函数原型"voidDD(inta[],intn,intMM)”编写函数定义,利用双重循环查找并打印输出数组a[n〕中任何两个元素的值等于MM值的元素值。 假定a[i〕十a[j〕等于MM,则 输出格式为: (a[i],a[j]) 2.voidDD(inta[],intn,intMM) { inti,j; forei=0;i for(j=i+l;j if(a[i]+a[j]==MM)printf("%d,%d\n",a[i],a[j]); } 2010年7月 一、单选题(每小题2分,共20分) 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为。 2.每个C语言程序文件的编译错误分为类。 3.字符串"a十b=12\n"的长度为。 4.在switch语句的每个case块中,假定都是以breaki吾句结束的,则此switch语句容 易被改写为)语句。 5.在下面的do-while循环语句中,其循环体语句被执行的次数。 inti=0;doi++;while(i<10); 6.将两个字符串连接起来组成一个字符串时,选用的字符串函数为())。 7.若用数组名作为函数调用的实参,传递给形参的是(A.数组的首地址)。 8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组 的首地址大个字节。 9.假定s被定义为指针类型char祷的变量,初始指向的字符串为"Helloworld! "若要使变量p指向s所指向的字符串,则p应定义为(铃p=s;)。 10.从一个数据文件中读人以换行符结束的一行字符串的函(B.£getsO)。 二、填空题(每小题2分,共26分) 与相同 三、写出下列每个程序运行后的输出结果{每小题6分,共30分) 1.: #include voidmainO{ inti,j,k=O; forCi=O;i<5;i++) for(j=i;j<5;j十+)k十+忖 printf("%d\n",k); 15 2.: #include voidmainO{ intx=20; inti=2; whileCi ifCx%i==O){printfC"%d",i);x/=i;} i+十; 25 3.: #include voidmainO{ inta[8]={70,63,54,95,40,75,90,66川 inti,s=O; forCi=O;i<8;i十+) if(a[i]>=70&.&.a[i]<=90)s十=a[i]; printfC"s=%d\n",s); s=235 4.拌include intWF(intx,inty){ x=x十Y; y十=xp returnx十y; voidmainO{ intx=3,y=5; printf("%d\n",WF(x,y? ; 21 5.: ifinclude intLA(int祷a,intn){ inti,s=O; forCi=O;i returns; voidmainO{ inta[5]={l,2,3,4,5}; intb=LA(a,5)+LA(a十1,3); printf("b=%d\n",b); b=24 四、写出下列每个函数的功能{每小题5分,共12分) 1.intSG(intx){ inti=2; IIx为大于等于2的整数 if(x==2IIx==3)return1; whileCi头i<=x){ if(x%i==0)break; i十+; if(i川<=x)return0;elsereturn1; 函数功能: 判断x是否为一个素数,若是则返回1,否则返回0。 2.intFindMax(structIntNode*f) 写一个主函数,计算1十3+32十? ..+310的值并输出,假定分别用i,p,s作为循环变 量、累乘变量和累加变量的标识符 1.#include voidmain() { int1; intp=1; ints=1; for(i=1;i<=10;i十十){p*=3;s+=p;} printf("%d\n",s); } 2.根据函数原型"intFF(inta口,intn)",编写函数定义,计算并返回数组a[n]中所有元 素之和。 2.intFF(inta[],intn) { inti,sum=O; for(i=O;i returnsum; } 2010年1月 一、单选题(每小题2分。 共20分) 语言源程序文件的缺省扩展名为。 2.设x和Y均为逻辑值,则x衣aY为真的条件是(A.它们均为真)。 3.在下列的符号常量定义中,正确的定义格式为(C.#defineM310)。 循环语句能够被改写为语句。 5.在下面的一维数组定义中,错误的定义格式为[])。 6.下面的函数原型声明中存在语法错误的是(C.AACinta;intb;))。 7.假定a为一个数组名,则下面存在错误的表达式为的(B.‘a++)。 8.假定有定义为“inta[10],x,*pa=a;",若要把数组a中下标为3的元素值赋给x, 则不正确的赋值为=‘pa+3)。 har类型的长度为个字节。 10.向一个二进制文件中写人信息的函数为())。 二、填空题(每小题2分,共26分) 语言中的每条复合语句以作为结束符。 } 2.在#include命令中所包含的文件,可以是头文件,也可以是程序文件。 3.十进制数35对应的八进制数为043。 4.假定x=5,则表达式2+x++的值为7。 5.增量表达式+十y表示成赋值表达式为y=y+1 6.若x=5,y=10,则X>y的值为0(假)。 7.假定二维数组的定义为“inta[3][5];",则该数组所含元素的个数为15。 8.执行“typedefintABC[10];”语句把ABC定义为具有10个整型元素的数组类型。 ()函数用于连接两个字符串。 10.假定p所指对象的值为25,p+1所指对象的值为46,‘p++的值为25 11.若要把一个整型指针P转换为字符指针,采用的强制转换表达式为(char*)p。 是一个符号常量,通常作为空指针值,它对应的值为0 13.假定要动态分配一个类型为structWorker的对象,并由r指针指向这个对象,使用的表达式为structWorker*r=malloc(sizeof(structWorker)). 三、写出下列每个程序运行后的输出结果(每小题6分.共30分) 1.#include voidmain() inti,s=0 for(i=1;i<6;i++)s+i,i; printf("s=%d\n",s); } s=55 2.#include #defineN6 voidmain() inti,a[N〕=2,5,8,10,15,21}; for(i=0;i if(a[i]ao5)printf("Yod",a[i]); printf("\n; 2821 3.#include #include<> voidmain(){ inti; unsignedintlen; char,a[5]=("student","worker,"cadre',"soldier',"zzeasan123"} len=strlen(a[o]); for(i=1;i<5;i十十) if(strlen(a[i])>len)len=strlen(a[i]); printf("%\n”,len); 10 4.#include voidmain() inta,b; for(a=2,b=3;b<20;){ printf("%dood",a,b); a=a+b; b=a+b; } printf("%d%d\n",a,b); 23581321 5.#include voidLE(int,a,int=b){ intx=*a; *a=*b;*b=x } voidmain(){ intx=15,y=26; printf("%d%d\n",x,y); LE(&x,&y); printf("%0%d\n",x,y) 1526 2615 四、写出下列每个函数的功能【每小题6分.共12分) 同2010年7月相同 五、按题目要求编写程序或函数(每小题6分,共12分! .编写一个程序,输出50以内(含50)的、能够被3或者5整除的所有整数。 .编写一个递归函数"intMinta[],intn)",求出数组a中所有n个元素之积并返回 1.#include<> voidmain() { inti; for(i=3;i<=50;i++) if(i%3==0||i%5==0)printf("%d",i); printf("\n"); } 2.intFF(inta[],intn) { if(n<=0){printf("n值非法\n"),exit (1);} if(n==1)returna[n-1]; elsereturna[n-1]*FF(a,n-1); } 2011年7月 一、单选题(每小题2分。 共20分) 语言程序中的基本功能模块为(D.函数)。 2.逻辑表达式(x>o||y==5)的相反表达式为<=O&&.y! =5)。 3.循环体至少被执行一次的循环语句为(C.do-while)。 4.假定n的值为5,则表达式n++的值为。 5.假定一个二维数组的定义为"inta[3][4]={{3,4},{2,8,6}}号",则元素a[2][O]的值 为。 6.假定一个函数原型为"char铃func(intn)",则该函数的返回类型为*)。 7.假定a为一个字符数组名,则元素a[i]的指针访问方式为(B.*(a+i))。 8.假定有语句为"int*p=calloc(10+20,sizeof(int));",则p所指向的动态数组中所包含的元素个数为。 9.十进制数50表示成符合C语言规定的八进制数为。 10.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为(C."rh+")。 二、填空题(每小题2分,共26分) 1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为#include 2.用于从键盘上为变量输入值的标准输入函数的函数名为scanf 3.假定一个枚举类型的定义为"en山nRA{ah,ac,ad,ae}户,则ac的值为1 类型的长度为8 5.执行"intx=45,y=13;printf("%d",x/y);"语句序列后得到的输出结果为3 6.把表达式x=x+y转换成复合赋值表达式为x+=y 7.假定x的值为5,则执行"a=((! x) 10: 20);"语句后a的值为20 8.假定一维字符指针数组的定义为"char*a[8]户,则该数组占用的存储空间的字节数为32 9.假定二维数组的定义为"doublea[M][N]户,则数组元素的行下标取值范围在O~M-1之间. 10.空字符串的长度为0 11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为0 12.若p指向x,则*p与x的表示是等价的。 13.直接访问表达式(*fp).score所对应的间接访问表达式为fp一>score 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.#include voidmain(){ inti,j,k==0; fore{i=O川<5;i+十〉 for(j=i川<5;j十十)k十+门 printf("%d\n",k); 15 2.#include voidmain(){ intx=20; inti=2; while(i if(x%i==0){printf("%d",i);x/=i;} i++; 25 3.#include<> voidmain(){ inta[8]="{76,63,54,95,40,75,90,66}; inti,s=O; for(i=O川<8川++〉 if(a[i]>=70&&a[i]<=90)s十=a[i]; printf("s=%d\n",s); s=241 4.#include intWF(intx,inty){ x=x+y; Y+=X; returnx+y; voidmain(){ intx=3,y=8; printf("%d\n",WF(x,y)); 30 5.#include intLA(int*aintn) inti,s=O; for(i=O;i returns; voidmain(){ inta[5]={1,2,3,4,5}; intb=LA(a5)+LA(a十2,); printf("b=%d\nt”,b) b=27 四、写出下列每个函数的功能(每小题6分,共12分) WC(inta[],intn,intk){ inti,c=O; for(i=O;i if(a[i]>=k)c++; returnc; 函数功能: 统计并返回一维整型数组a[n]中大于等于k的值的个数。 QA(structWorkera[],intn) lnti; for(i=O;i scanf("%s%d%f",a[i].name,&a[i].age,&a[i].pay); 假定结构类型structWorker的定义如下: structWorker{charname[15]intage的floatpay;}; 函数功能: 从键盘上为具有structWorker类型的数组a[n]输入n个记录。 五、按题目要求编写函数(每小题6分,共12分} 1.根据函数原型"doubleMean(doublea[M][N],intm,intn)",编写函数定义,要求返回二维数组a[m][n]中所有元素的平均值。 假定在计算过程中采用变量v存放累加值和最后的平均值。 doubleMean(doublea[M][N],intm,intn) { lnti,J; doublev=; for(i=O;i for(j=O;j v/=m*n; returnv; } 2.根据函数原型"intMM(inta[],intm)",编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差。 intMM(inta[],intm) { inti,x1,x2; xl=x2=a[0]; for(i=1;i if(a[i]>x1)xl=a[i]; if(a[i] } returnxl-x2; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1253 语言程序设计