安徽农业大学经济技术学院《C语言程序设计》模拟试卷(A)所有答案写在答题卡上,否则不得分一、单项选择题(每题1分,共30分)1.以下选项中叙述正确的是___C_____。
A)C语言程序总是从第一个定义的函数开执行B)在C语言程序中,被调用的函数必须在main( )函数中声明C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.C语言程序的三种基本结构是 A 结构。
A)循环、选择、顺序 B)递归、转移、嵌套C)for while do-while D)if break continue3以下选项中不属于C语言的基本数据类型的是__D______。
A)int B)double C)char D)bool4.以下选项中正确的C语言标识符是_B_______。
A)2b B)x_1 C)a@b D) h#35.有以下程序段:int m=0,n=0;char c=’a’;scanf(“%d%c%d”,&m,&c,&n);printf(“%d,%c,%d\n”,m,c,n);若从键盘上输入98A56(回车)输出结果是____B____。
A)98,A,56 B)98,a,56 C)98,a,0 D)98,A,66.以下选项中,和语句k=n++;等价的是__A______。
A)k=n,n=n+1; B)n=n+1,k=n;C)k=++n; D)k=n+1;7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是____B____。
A)8 B)10 C)12 D)148.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2),a+b;后,c的值是____A____。
A)2 B)3 C)4 D)59.已知:int x,y;float z;,若要给变量x,y,z输入数据,以下正确的输入语句是__C______。
A)scanf("%d,%d,%f",x,y,z);B)scanf("%d,%d,%f\n",&x,&y,&z);C)scanf("%d,%d,%f",&x,&y,&z);D)scanf("%2d,%2d,%3.2f",&x,&y,&z);10.设有int m=9,n; 则表达式( B )不能使n的值为1。
A.n=m%2 B.n=m/10 C.n=m-1<10?1:2 D.n= m %811.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是_B_______。
A)stdio.h B)math.h C)string.h D)stdlib.h12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是____A____。
A)A B)65 C)97 D)出错13.能正确表示逻辑关系“a≥5或a≤-1”的C语言表达式是__D______。
A)a>=5|a<=-1 B) a≥5||a≤1C) a>=5&&a<=-1 D)a>=5‖a<=-114.已知int i=7;,则表达式1<=i<=10的值是__B______。
A)0 B)1 C)19 D)表达式不正确15.已知:int a=3,b=6,c=1;,则执行语句(a>b)&&(c=b+2);后,c的值是___A_____。
A)0 B)1 C)6 D)816.if(表达式)……;语句中的表达式__D______。
A)只能是关系表达式 B)只能是逻辑表达式C)只能是关系表达式或逻辑表达式 D)可以使任何表达式17.已知:int k=1;,则语句while(k<=5)k++;中循环体语句执行的次数是___C_____。
A)0 B)4 C)5 D)618.已知以下程序段int p;do{scanf("%d",&p);}while(p>=100);此处循环的结束条件是___D_____。
A)P的值大于100 B)p的值大于等于100C)p的值小于100 D)p的值小于等于10019.已知:int s[8]={1,2,3,4,5,6,7,8},x;,则执行语句x=s[2]+s[4];后,x的值是_B_______。
A)8 B)6 C)7 D)320.对一维数组初始化的语句是_B_______。
A)int s[4]={0,1,2,3,4}; B)int s[]={0,1,2,3,4};C)int s[4];s={0,1,2,3,4}; D)float s[5];s={0.8,1,2.3,3.0,4};21.已知:char s[20];,以下正确的语句是___C_____。
A)s="Merry Christmas"; B)s[20]="Merry Christmas";C)strcpy(s,"Merry Christmas"); D)strcpy("Merry Christmas",s);22.已知:char a[3][10]={ "hefei","anqing","huangshan"};,能正确显示字符'q'的语句是___D_____。
A) printf("%c",a[1][2]); B) printf("%c",a[2][2]);C) printf("%c",a[1][3]); D) printf("%c",a[2][3]);23.执行以下程序后,输出结果是__C______。
#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 a[10],*b=a;不能给数组a输入字符串的语句是__C______。
A) gets(a); B) gets(a[0]); C) gets(&a[0]); D) gets(b);25.若调用函数是用数组名作为实参,则传递给形参的是___C_____。
A)数组首地址 B)数组的第一个元素值C)数组中全部元素的值 D)数组元素的个数26.执行以下程序后,输出结果是__D______。
#include <stdio.h>void main(){ int a[6]={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(“%d\n”,s);}程序执行后的输出结果是___D_____。
A) 自然数1~9的累加和 B) 自然数1~10的累加和C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和28. 已有定义:char a[10],*p=a; 下面的赋值语句中正确的是AA)a[10]=”C language” B)a=”C language”C)p=”C language” D)*p=”C language”29. 执行以下程序后。
输出结果是___C_____。
void main(){ int *s[]={“one”,”two”,”three”},*p;p=s[1];printf("%c,%s",*(p+1),s[0];}A)n,two B)w,one C)t,one D)o,two30.主调函数中已有定义,int a[3][4],n;当使用函数调用语句fun(a,n);时,被调函数fun()的形参表列正确的为____C____。
A)fun(int a[3][], int n){…} B)fun(int a[][4], int n) {…};C)fun(int a[][], int n) {…} D)fun(int *p[4], int n) {…}二、判断题(每题1分,共10分,正确划T,错误划F)1.C语言允许直接访问物理地址,能进行位操作。
( F )2.在C程序中main()函数的位置是固定的。
( F )3.C语言源程序的扩展名缺省为.C,源程序经编译后产生的文件扩展名是.obj,经过链接后产生的目标文件扩展名是.exe。
(T )4.判断一个量是否为“真”时,以0代表“假”,以非零代表“真”。
( T )5._123不能作为c语言的变量名.( F )6.若int a=0,b=0; a+=1;b++;则a==b。
( F )7.5++是一个合法的表达式。
( T )8.不能用printf函数输出字符。
( F )9.do…while语句循环体至少执行一次。
( F )10.函数必须有形参。
( F )三、填空题(每空2分,共20分)1.已知int x=8,y=3;,则执行语句x%=y;后的值是__2______。
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 a[4][3]={{1,2,3},{3,4,5},{4,5,6},{5,6,7}}则表达式a[2][1]+a[3][2]的值是________。
8. 已知int a[10]={19,23,44,17,37,28,49,36},*p=a;,则表示值为37的数组元素的表达式是*(p+________)。