C语言模拟试卷A.doc
. . . . 农业大学经济技术学院C语言程序设计模拟试卷(A)所有答案写在答题卡上,否那么不得分一、单项选择题每题1分,共30分1.以下选项中表达正确的选项是_。AC语言程序总是从第一个定义的函数开执行B在C语言程序中,被调用的函数必须在main()函数中声明CC语言程序总是从main()函数开始执行DC语言程序中的main()函数必须放在程序的开始局部2.C语言程序的三种根本结构是顺序结构、选择结构和_结构。A循环 B递归 C转移 D嵌套3以下选项中不属于C语言的根本数据类型的是_。Aint Bdouble Cchar Dbool4.以下选项中正确的C语言标示符是_。A)2b Bx_1 Cab D)3#h5.设C语言中,一个int型数据在存中占2个字节,那么unsigned int型数据的取值围为_。A0255B032767C065535D021474836476.以下选项中,和语句k=n+;等价的是_。Ak=n,n=n+1; Bn=n+1,k=n;Ck=+n; Dk=n+1;7.:int i=3,j=2;,那么执行语句j*=i+2;printf("%d",j);后,输出结果是_。A8 B10 C12 D148.:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c的值是_。A2 B3 C4 D59.:int x,y;float z;,假设要给变量x,y,z输入数据,以下正确的输入语句是_。Ascanf("%d,%d,%d",x,y,z);Bscanf("%d,%d,%f",&x;&y;&z);Cscanf("%d,%d,%f",&x,&y,&z;Dscanf("%2d,%2d,%3.2d",x;y;z;10.华氏温度f和摄氏温度c的关系是。:float c,f;,由华氏温度f求摄氏温度c的不正确的赋值表达式是_。Ac=5/9(f-32) Bc=5.0/9*(f-32)Cc=5*(f-32)/9 Dc=(float)5/9*(f-32)11.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是_。Astdio.h Bmath.h Cstring.h Dstdlib.h12.:char c='a',那么执行语句printf("%c",c-32);后输出结果是_。AA B65 C97 D出错13.能正确表示逻辑关系“a5或a-1的C语言表达式是_。Aa>=5.or.a<=-1 B) a>=5.and.a<=-1C) a>=5&&a<=-1 Da>=5a<=-114.int i=7;,那么表达式9<=i<=20的值是_。A)0 B)1 C)19 D)表达式不正确15.:int a=3,b=6,c=1;,那么执行语句(a>b)&&(c=b+2);后,c的值是_。A)0 B)1 C)6 D)816.if表达式;语句中的表达式_。A只能是关系表达式 B只能是逻辑表达式C只能是关系表达式或逻辑表达式 D可以使任何表达式17.:int k=1;,那么语句whilek<=5k+;中循环体语句执行的次数是_。A0 B4 C5 D618.以下程序段int p;doscanf("%d",&p);while(p>=100);此处循环的完毕条件是_。AP的值大于100 Bp的值大于等于100 Cp的值小于100 Dp的值小于等于10019.:int s8=1,2,3,4,5,6,7,8,x;,那么执行语句x=s2+s4;后,x的值是_。A8 B6 C7 D320.对一位数组初始化的语句是_。 Aint s4=0,1,2,3,4; Bint s=0,1,2,3,4; Cint s4;s=0,1,2,3,4; Dint s;s=0,1,2,3,4;21.:char s20;,以下正确的语句是_。As="Merry Christmas" Bs20="Merry Christmas"Cstrcpy(s,"Merry Christmas"); Dstrcpy("Merry Christmas",s);22.:char a310= "hefei","anqing","huangshan",能正确显示字符'q'的语句是_。A) printf("%c",a12); B) printf("%c",a22);C) printf("%c",a13); D) printf("%c",a23);23.执行以下程序后,输出结果是_。#include <stdio.h>void swap(int *x,int *y) int t;t=*x,*x=y,*y=t; void main() int a=12,b=24; swap(&a,&b);printf("%d,%d",a,b);A)12,24 B)12,12 C)24,12 D)24,2424. 有以下定义#include <stdio.h>char a10,*b=a;不能给数组a输入字符串的语句是_。A) gets(a); B) gets(a0); C) gets(&a0); D) gets(b);25.假设调用函数是用数组名作为实参,那么传递给形参的是_。A数组首地址 B数组的第一个元素值C数组中全部元素的值 D数组元素的个数26.执行以下程序后,输出结果是_。#include <stdio.h>void main() int a6=4,2,10,5,20,7,*p=a; printf("%d",*(p+2);A)2 B)3 C)6 D)1027. 有以下程序main( ) int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%dn,s);程序执行后的输出结果是_。A) 自然数19的累加和 B) 自然数110的累加和C) 自然数19中的奇数之和 D) 自然数110中的偶数之和28. :struct student int number; char name10; char sex;s;那么以下表达正确的选项是_。Astruct是类型名 Bs是类型名Cs是结构体变量 Dstudent是结构体变量29. 执行以下程序后。输出结果是_。#define SQ(a) a*a#include <stdio.h>void main() int a=3; printf("%d",SQ(a)/9);A)1 B)3 C)6 D)9 30.假设要打开已存在的文本文件abc.txt,并进展读操作,那么正确的语句是_。Afopen("abc.txt","r"); Bfopen("abc.txt","wb");Cfopen("abc.txt","rb"); Dfopen("abc.txt","w");二、判断题每题1分,共10分,正确划T,错误划F1.C语言允许直接访问物理地址,能进展位操作。 2.在C程序中main()函数的位置是固定的。 3.C语言源程序的扩展名缺省为.C,源程序经编译后产生的文件扩展名是OBJ,经过后产生的目标文件扩展名是EXE。 4.判断一个量是否为“真时,以0代表“假,以非零代表“真。 5._123不能作为c语言的变量名. 6.假设int a=0,b=0; a+=1;b+;那么a=b。 ( )7.5+是一个合法的表达式。 8.不能用printf函数输出字符。( )9.dowhile语句循环体至少执行一次。 10.函数必须有形参。 三、填空题每空2分,共20分1.int x=8,y=3;,那么执行语句x%=y;后的值是_。2.int a=7,b=2;,那么执行语句printf("%d",a/b);后的输出结果是_。3.执行语句printf("%.4f",2012.20122102);后的输出结果是_。4.int x=010;,那么执行语句printf("%d",x);后的输出结果是_。5.数学条件式“20<x<30对应的C语言表达式是_。6.int a=1,b=2,c=3,d=4;,那么条件表达式a<b?c:d的值是_。7.int a43=1,2,3,3,4,5,4,5,6,5,6,7那么表达式a21+a32的值是_。8. int a10=19,23,44,17,37,28,49,36,*p=a;,那么表示值为37的数组元素的表达式是*(p+_)。9.char str="input",那么printf("%s",str+2);后的输出结果是_ 。10.:struct student int id; char name20; int sex;wang;假设sizeof(int)等于4,那么sizeof(wang)的值是_。四、阅读理解题每题4分,共20分1.以下程序的运行结果是_。#include <stdio.h>void main()int score=85;switch(score/10)case 10:case 9:printf("A");break; case 8:printf("B");break;case 7:printf("C");break;case 6:printf("D");break;default:printf("E");break;2.下面程序运行后,输入2011,12,24<回车>,程序的运行结果是_。#include <stdio.h>void main()int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;if(b<c)t=b;b=c;c=t;printf("%d>=%d>=%d",a,b,c);3.以下程序的运行结果是_。#include <stdio.h>void main() int i,j;for(i=1;i<=3;i+) for(j=1;j<=i;j+) printf("*");4.以下程序的运行结果是_。#include <stdio.h>main()int a34=1,2,3,4,5,6,7,8,9,10,11,12,i,*p;p=a1; for(i=0;i<4;i+) printf("%3d",*(p+i);5.以下程序的运行结果是_。#include <stdio.h>void scan(char s)int i=0;while(si<='9'&&si>='0')i+; si='0'void main()char s="2012 year"scan(s);printf("%s",s);五、编程题第1题6分,第2、3题各7分,共20分1.设计程序从键盘输入两个整数,打印输出这两个数中的较小值。2.利用循环语句编写程序,计算11+111+211+311+2011.3.设有未完成的函数:char GetChar(char c) char s="9038571426" 字符串s中无序存储了10个数字字符,没有重复。函数的功能是:在s中查找字符c并返回其在s中的前一个字符。如果该字符位于s的最前面字符9,那么返回最后一个字符6。例如:GetChar(4)得到字符1,GetChar(9)得到字符6请设计并完成该函数。6 / 6