本科C语言模拟一(含答案)

合集下载

c语言笔试模拟题以及答案

c语言笔试模拟题以及答案

1.一、单选题:(每题1.5分,共60分)1、 C语言程序的基本单位是_______.A. 语句B. 函数C. 程序行D. 字符答案: B2、 C语言程序由( )组成A. 子程序B. 过程C. 函数D. 主程序段程序答案: C3、算法的表示方法有________。

A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、以下程序的输出结果是main( ){ int k=17;printf(“%d,%o,%x \n”,k,k,k);}A. 17,021,0×11B. 17,17,17C. 17,0×11,021D. 17,21,11答案: D5、下列变量定义中合法的是A. short _a=1-.le-1;B. double b=1+5e2.5;C. long do=0xfdaL;D. float 2_and=1-e-3;答案: A6、 C语言中合法的字符常量是____A. ‘\084′B. ‘\X43′C. ‘ab’D. “\0″答案: B7、下面说法中正确的是( )A. int型和long型运算先将int型转换成unsigned型,再转换B. 两个float型运算结果为double型C. 只要表达式中存在double型,所有其他类型数据都必须转D. 表达式中的类型转换与运算顺序有关答案: C8、以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案: D9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0答案: B10、下列运算符中优先级最高的是A. <B. +C. &&D. !=答案: B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7:c+b答案: B12、设CH是字符型变量,其值为’A',下列表达式的值是CH=(CH > =’A'&&CH < =’Z')?(CH+32):CHA. AB. aC. zD. Z答案: B13、表达式18/4*sqrt(4.0)/8值的数据类型为A. intB. floatC. doubleD. 不确定答案: C14、在C语言中,要求运算数必须是整型的运算符是A. /B. %C. !D. >答案: B15、以下说法中正确的是A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句答案: D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d%d%d%\n”,k,a,b);}A. 0 0 3B. 0 1 2C. 1 0 3D. 1 1 2答案: C17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A. 1B. 2C. 3D. 4答案: B18、若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是A. (exp==0B. (exp!=0)C. (exp==1)D. (exp!=1)答案: B19、为表示关系X≥Y≥Z应使用C语言表达式:__A. (X > =Y)&&(Y > =Z)B. (X > =Y)and(Y > =Z)C. (X≥ Y≥ Z)D. (X≥ Y)&(Y≥ Z)答案: A20、能正确表示逻辑关系:”a ≥ =10或a ≤ 0″的C语言表达式是A. a > =10 or a< =0B. a > =0||a < =10C. a > =10 && a < =0D. a < =0 || a>=10答案: D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf(“****”);else printf(“####”);}A. 有语法错误不能过通过编译B. 输出****C. 可能通过编译,但是不能通过连接,因而不能运行D. 输出####答案: D22、执行下面语句后的输出为( )int i= -1;if (i < =0)printf(“****\n”)else printf(“%%%%\n”)A. ****B. %%%%C. %%%%CD. 有语法错,不能执行答案: D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case ‘a’:case ‘A’:case ‘e’:case ‘E’:case ‘i’:case ‘I’:case ‘o’:case ‘O’:case ‘u’:case ‘U’:v1+=1;default:v0+=1;v2+=1;}}while(c!=’\n’);printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=12,v1=4,v2=12答案: D24、以下程序的输出结果是main( ){ int n=4;while(n–)printf(“%d “,–n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 0答案: A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

昆明理工大学C语言程序设计模拟试卷1,附答案

昆明理工大学C语言程序设计模拟试卷1,附答案

C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。

A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。

A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。

A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。

x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。

ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。

int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。

C语言模拟试卷及答案

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。

2.一个C程序有且仅有一个main( )函数.3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。

4.C语言可以用来实现循环的结构化语句是while、do while、for。

5.数组名表示数组在内存的首地址.6.int a=3,*p=&a;*p+2的值是5。

二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。

(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。

3.以下叙述正确的是。

(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。

(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。

(A)逗号运算符的运算级最低。

(B)ABC和abc是两个不同的变量。

(C)若a和b类型相同,在执行a=b后,b的自身值不变。

(D)‘a’和“a”是完全等价的常量。

5.int x=3,y=2;则表达式x+=x*=y+8的值为。

(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。

(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。

char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。

专升本考试C语言模拟试题及参考答案

专升本考试C语言模拟试题及参考答案

精品文档以下程序的输出结果是【38】。

# include<stdio.h># define FUDGE(y) 2.84+y * H& O- |+ J7 K# define PR(a) printf(%d,(int)(a)) N/ L; u- b7 ~2 e# define PRINT1(a) PR(a);putchar('\n') s G/ V; K/ b main(){int x=2; PRINT1(FUDGE(5)*x); } 5 d0 r9 i) l* o【38】A) 11 B) 12 C) 13 D) 15 以下程序的输出结果是【39】。

# include<stdio.h> ! t4 W0 n1 S' U: \/ a main(){ int i=1,j=3; . y$ d8 u2 ^$ d @( N6 D printf(%d,i + + );{ int i=0; i+=j*2; printf(%d,%d,i,j); } 0 m( c( T/ T+ ^) E4 K `) v printf(%d,%d\n,i,j); }【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3以下程序的输出结果是【40】。

5 m9 t p4 j+ n* ]- Z. s. C# include <stdio.h> ! T% B1 z! {1 k- _! S$ Y$ a3 g& w main() + D$ D* y |- e0 `- a- b{ int k=4,m=1,p; ; t5 {( ~1 G g* N3 L$ [9 w. x p=func(k,m); printf(%d,,p); p=func(k,m); printf(%d\n,p);} $ B( Z3 r5 ^* @5 C. ^) W func(a,b)int a,b; 7 J3 O, w- f' M6 |! t* N5 L0 Z9 t{ static int m=0,i=2; & {* n; N% g; Y; ]2 ^( K i+=m+1; m=i+a+b; return(m); } ) G( v+ J) z( O1 u【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8 * Q& r) D4 `1 T m8 W+ h; _设有以下语句:! F/ p% T; V9 g( H' M1 j+ J char str[4][12]={aaa,bbb,ccccc,dddddd}, # d- q# S; \2 R3 `, v, A*strp[4]; int i; ! D2 Z1 D, h+ Z0 v3 o( E+ H: @for(i=0;i<4;i + + )strp[i]=str[i];【41】不是对字符串的正确引用,其中0≤k<4。

浙江大学C语言模拟考试试题及答案

浙江大学C语言模拟考试试题及答案

4、 读入一批正整数(以零或负数为结束标志),输出其中的素数。函数 prime(m)用于判 断 m 是否为素数。素数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。
A. res = 1
B. x >= 0
C. res
浙江大学 C 语言模拟考试试题及答案
第9页
版权所有:浙江大学计算机学院
共 56 页
C. __int&int
D. ___intintint
2、 对于以下的变量定义,表达式______是正确的。
struct node {
char s[10];
int k;
} p[4];
A. p->k=2
B. p[0].s="abc"
C. p[0]->k=2 D. p->s='a'
3、 以下函数的功能是 _____。
B. NUMBER - 1 E. &data[i] H. %d\n
C. %d\0 F. %d\s I. i
浙江大学 C 语言模拟考试试题及答案
第 10 页 共 56 页
版权所有:浙江大学计算机学院
熊熊看星星整理
浙江大学 C 语言模拟试题 2
一、判断题。共 10 题,每题 1 分,共 10 分。正确的请选择 A,错误的请选择 B。
第7页
版权所有:浙江大学计算机学院
共 56 页
熊熊看星星整理
D. n>6&&n<1 G. n-1
E. n>=1&&n<=6 H. n-i+1
F. if(j==n-i)break I. n-i
2、 将一个磁盘文件中的小写字母全部改成大写字母,写入另一个磁盘文件。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…A} void fun(int m, int x[]) B} void fun(int s, int h[41])C} void fun(int p, int *s) D} void fun(int n, int a)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。

A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是()。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选题:(每题1.5分,共60分)1、C语言程序的基本单位是_______.A.语句B.函数C.程序行D.字符答案:B2、C语言程序由( )组成A.子程序B.过程C.函数D.主程序段程序答案:C3、算法的表示方法有________。

A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言B.高级语言,汇编语言,机器语言C.C语言,QBASIC语言,InterDevD.图形图像法,描述法,编程法E.计算机语言答案:A4、以下程序的输出结果是main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11答案:D5、下列变量定义中合法的是A.short _a=1-.le-1;B.double b=1+5e2.5;C.long do=0xfdaL;D.float 2_and=1-e-3;答案:A6、C语言中合法的字符常量是____A.'\084'B.'\X43'C.'ab'D."\0"答案:B 7、下面说法中正确的是( )A.int型和long型运算先将int型转换成unsigned型,再转换B.两个float型运算结果为double 型C.只要表达式中存在double型,所有其他类型数据都必须转D.表达式中的类型转换与运算顺序有关答案:C8、以下不正确的叙述是A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案:D9、设变量n为float类型,m为int 类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0C.n=n*100+0.5/100.0D.n=(n/100+0.5)*100.0答案:B10、下列运算符中优先级最高的是A.<B.+C.&&D.!=答案:B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7:c+b答案:B12、设CH是字符型变量,其值为'A',下列表达式的值是CH=(CH > ='A'&&CH < ='Z')?(CH+32 ):CHA.AB.aC.zD.Z答案:B13、表达式18/4*sqrt(4.0)/8值的数据类型为A.intB.floatC.doubleD.不确定答案:C14、在C语言中,要求运算数必须是整型的运算符是A./B.%C.!D.>答案:B15、以下说法中正确的是A.#define和printf都是C语句B.#define是C语句,而printf不是C.printf是C语句,但#define不是D.#define和printf都不是C语句答案:D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d%\n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 2答案:C 17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A.1B.2C.3D.4答案:B18、若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A.(exp==0B.(exp!=0)C.(exp==1)D.(exp!=1)答案:B19、为表示关系X≥Y≥Z应使用C语言表达式:__A.(X > =Y)&&(Y > =Z)B.(X > =Y)and(Y > =Z)C.(X≥ Y≥ Z)D.(X≥ Y)&(Y≥ Z)答案:A20、能正确表示逻辑关系:"a ≥ =10或a ≤ 0"的C语言表达式是A.a > =10 or a < =0B.a > =0||a < =10C.a > =10 && a < =0D.a < =0 || a>=10答案:D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf("****");else printf("####");}A.有语法错误不能过通过编译B.输出****C.可能通过编译,但是不能通过连接,因而不能运行D.输出####答案:D22、执行下面语句后的输出为( ) int i= -1;if (i < =0)printf("****\n")else printf("%%%%\n")A.****B.%%%%C.%%%%CD.有语法错,不能执行答案:D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case 'a':case 'A':case 'e':case 'E':case 'i':case 'I':case 'o':case 'O':case 'u':case 'U':v1+=1;default:v0+=1;v2+=1;}}while(c!='\n');printf("v0=%d,v1=%d,v2=%d\n",v0 ,v1,v2);}A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=12,v1=4,v2=12答案:D24、以下程序的输出结果是main( ){ int n=4;while(n--)printf("% d ",--n);}A.2 0B.3 1C.3 2 1D.2 1 0答案:A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

下面程序是求这堆零件总数,请选择填空。

#include <stdio.h>main(){int i;for(i=100;i<200;i++)if((i-2)%4==0)if(!((i-3)%7))if( ______ )printf("%d",i);}A.i%9=5B.i%9!=5C.(i-5)%9!=0D.i%9==5答案:D26、以下程序的输出结果是{ int i,j,x=0;for(i=0;i < 2;i++){ x++;for(j=0;j < 3;j++){ if(j%2) continue;x++;}x++}printf("x=%d\n",x);}A.x=4B.x=8C.x=6D.x=12答案:B27、以下程序的输出结果是#include < stdio.h >#include < string.h >main(){ char b1[8]="abcdefg",b2[8],*pb =b1+3;while (--pb > = b1) strcpy(b2,pb );printf("%d\n",strlen(b2));}A.8B.3C.1D.7答案:D28、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空#include <stdio.h>main(){int a,b,t;scanf("%d%d",&a,&b);while( ___________ ){if(a > b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A.!a=bB.a!=bC.a==bD.a=b答案:B29、下面程序的输出结果是( )。

#include<stdio.h>main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(”%d%d”,x--,y);}A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 1答案:D30、以下程序的输出结果是main( ){ int i,x[3][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<4;i+=2)printf("%d ",x[i][i]);}A.5 2B.9 1C.5 3D.9 7答案:B31、若有说明: int a[3][4]={0};则下面正确的叙述是A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不一定为0D.数组a中每个元素均可得到初值0答案:D32、以下程序的输出结果是main( ){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;int i;i=8;p=a+i;printf("%s\n",p-3);}A.6B.6789C.'6'D.789答案:B33、以下程序的输出结果是#define f(x) x*xmain( ){ int a=6,b=2,c;c=f(a) / f(b);printf("%d \n",c);}A.9B.6C.36D.18答案:C34、若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是A.a+1表示的是字符t的地址B.p指向另外的字符串时,字符串的长度不受限制C.p变量中存放的地址值可以改变D.a中只能存放10个字符答案:D35、请选出正确的程序段A) int *p;B) int *s, k;scanf("%d",p); *s=100;……C) int *s, k; D) int *s, k;char *p, c; char *p , e;s=&k; s=&k; p=&c; p=&c;A.B.C.D.答案:C36、在位运算中,操作数每右移一位,其结果相当于A.操作数乘以2B.操作数除以2C.操作数乘以4D.操作数除以4答案:B37、请读程序:#include<stdio.h>void FUN(int S[]){ static int J=0;do{S[J] +=S[J+1];}while( ++J<2);}main(){ int K, A[10]={ 1,2,3,4,5};for( K=1;K<3;K++) FUN(A);for (K=0;K<5;K++)printf("%d",A[K]);}上面程序输出结果是A.34756B.23445C.35745D.12345答案:C38、下列程序段的输出结果是( )。

相关文档
最新文档