C语言模拟试卷一
《C程序设计》模拟试卷

《C程序设计》模拟试卷一、单项选择题(每题2分,共40分):1.以下叙述中正确的是________。
A)用C程序实现的算法可以既没有输入也没有输出。
B)用C程序实现的算法可以没有输入但必须有输出。
C)用C程序实现的算法可以没有输出但必须有输入。
D)用C程序实现的算法必须要有输入和输出操作。
2.以下4组用户定义的标识符中,全部合法的一组是________。
A)_main B)If C)txt D)inteneclude -main REAL k_2sin turbo 3COM _0013.有以下程序:#include <stdio.h>void main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%d\n”,m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值是456,p中的值是789,则正确的输入是________。
A)m=123n=456p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 7894.有以下程序:#include <stdio.h>void main(){ int x=102,y=012;printf(“%2d,%2d\n”,x,y);}执行后输出的结果是________。
A)10,01 B)02,12 C)102,10 D)02,105.有以下程序:#include <stdio.h>void main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf(“%d”,d++ +1);elseprintf(“%d”,++d +1);printf(“%d\n”,d);}程序运行后的输出结果是_____。
A)44 B)43 C)3 D)26.有以下程序:#include <stdio.h>void main(){ int i;for(i=0;i<3;i++)switch(i){ case 0: printf(“%d”,i);case 2: printf(“%d”,i);default: printf(“%d”,i);}}程序运行后输出的结果是________。
计算机等级二级C语言模拟试题1(五)

⼀、选择题((1)~(10)每⼩题2分,(11)~(50)每⼩题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项涂写 在答题卡相应位置上,答在试卷上不得分。
(1)算法⼀般都可以⽤________控制结构组合⽽成。
A)循环、分⽀、递归 B)顺序、循环、嵌套 C)循环、递归、选择 D)顺序、选择、循环 答案:D 评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执⾏顺序,也直接反映了算法的设计是否符合结构化原则。
⼀个算法⼀般都可以⽤顺序、选择、循环三种基本控制结构组合⽽成。
(2)数据的存储结构是指________。
A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表⽰ C)数据在计算机中的顺序存储⽅式 D)存储在外存中的数据 答案:B 评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
(3)设有下列⼆叉树: 对此⼆叉树中序遍历的结果为________。
A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 答案:B 评析:中序遍历是指⾸先遍历左⼦树,然后访问根结点,最后遍历右⼦树;并且在遍历左、右⼦树时,仍然先遍历左⼦树,然后访问根结点,最后遍历右⼦树的⼀种⼆叉树遍历算法。
(4)在⾯向对象⽅法中,⼀个对象请求另⼀对象为其服务的⽅式是通过发送________。
A)调⽤语句 B)命令 C)⼝令 D)消息 答案:D 评析:⾯向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要⼀个机制协助进⾏,这样的机制称为消息。
消息是⼀个实例与另⼀个实例之间传递的信息,它请求对象执⾏某⼀处理或回答某⼀要求的信息,它统⼀了数据流和控制流。
(5)检查软件产品是否符合需求定义的过程称为________。
A)确认测试 B)集成测试 C)验证测试 D)验收测试 答案:A 评析:确认测试的任务是验证软件的功能和性能及其他特性是否满⾜了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。
长安大学网络教育《C语言程序设计》模拟试卷及参考答案

一、填空题(本题每空1分,共计15分)1.设int a = 2,b = 3;float x = 3.5,y =2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。
2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。
3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。
4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a,则a = 0 ;5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 46、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’7、若a=1;b= 2;c=2; if(a<b<c) {t= a;a=b; b=t; c--;}则a= 2 ,b= 1 ,c= 1 ,二、选择题(本题有15个小题,每小题2分,共计30分,每题只有一个正确答案)1、C程序的执行是从(A)A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束2、若有说明:char *language[]={"FORTRAN","BASIC","PASCAL", "JA V A","C"};则以下不正确的叙述是(D)。
A)language+2表示字符串"PASCAL"的首地址B)*language[2」的值是字母PC)language是一个字符型指针数组,它包含5个元素,D)每个元素都是一个指向字符串变量的指针3、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(B):A)7 B)8 C)6 D)24、下面四个选项中,均是不合法的用户标识符的选项是(C)A) A P_0 doB)float a0 _AC)b-a goto intD)-123 temp INT5、sizeof(float)是(B):A)一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式6、设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为(D):A)float B)char C)int D)double7、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是(B): main(){int x; float y; printf("enter x,y:")输入语句输出语句}输入形式enter x,y: 2 3.4输出形式x+y=5.40A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);8、根据下面的走义,能打印出字母M的语句是(D)struct person{char name[9];int age;}struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16 };A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);9、若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是(D)。
C++试题及答案(一)

C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分。
1。
编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B。
编辑、编译、连接、运行C。
编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行.连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B。
调用该函数时系统随机产生的类型C。
调用该函数时的主调用函数类型D。
在定义该函数时所指定的数据类型答案:D解析:函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3。
下面叙述不正确的是()A。
派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C。
赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性.赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A。
类B。
对象C. 函数体D。
数据块答案:A解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作.5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A。
C语言程序设计模拟试卷(2)

C语⾔程序设计模拟试卷(2)模拟试卷⼀⼀、选择题(每题1分,共15分) 在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的,请在正确答案前点选,错选或未选均不得分。
1. 以下选项中不合法的⽤户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语⾔中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下⾯表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((xC. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执⾏语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10正确答案A. 10B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执⾏次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输⼊语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输⼊是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执⾏以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环⼀次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不⼀致,函数调⽤产⽣错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第⼀个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"⼆、填空题(共10题)1. 字符串存储时,末尾被系统⾃动加上字符。
全国高等教育成人自考c语言试题

自考高级语言程序设计模拟题第一部分选择题(20分)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.组成C语言程序的是()A.过程B.函数C.子程序D.主程序和子程序2. 下列表达式的值为0的是()A. 3﹪5B. 3/5.0C. 3/5D. 3<53.C语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是()A.自动型B.寄存器型C.静态型D.外部参照型4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是()A. 0和2B. 0和3C. 1和2D. 1和35.自动型变量分配在()A.内存的数据区中B.CPU的通用寄存器中C.内存的程序区中D.内存的堆栈区中6. 下列保留字中用于构成循环结构的是()A. ifB. whileC. switchD. default7.对do-whie语言错误的说法是()A.可构成多重循环结构B.循环次数不可能为0C.循环次数可能为0D.先执行后判断8.设char x =′a′;则printf(″x = ﹪c, y = ﹪c \\ n″,x,97);的输出是()A. x = a,y = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a9.设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:printf(″%d″,strlen(strcpy(str1,str2)));后的输出是()A.3B.5C.8D.910. 执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf(″﹪d \\ n″,a[1][0] + b[0][0]);}后输出的结果是()A. 0 B. 1 C. 2 D. 311.语句int (*p)( );的含义是()A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据B.p是指针变量,指向一个整型数据C.p是一个指向一维数据的指针变量D.p是指针函数12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是()A. p + = 2, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p13.对于程序段float f1(int a){int b;…}main( ){int m,n;m=f1(n);…}char f2(int x,int y){int a;…}变量m,n的作用范围是()A.整个程序段B.main函数C.main函数和f2函数D.mian函数和f1函数14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2){printf(″﹪d, ﹪d \\ n″, x1 + x2,b);}main(){int a = 5, b = 6;fun(a, b);}后输出的结果是() A. 3,4 B. 11,1 C. 11,4 D. 11,615.在下列运算符中,优先级最低的是()A.!B.·C.( )D.[ ]16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;则枚举常量a2和a3的值分别为() A. 1和2 B. 2和3 C. 7和2 D. 7和817.对于文件操作方式″rb+″,准确的说法是()A.可读写文本文件B.只读二进制文件C.只读文本文件D.可读写二进制文件18. 在文件使用方式中,字符串″rb″表示()A. 打开一个已存在的二进制文件,只能读取数据B. 打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据D. 打开一个二进制文件,只能写入数据19.设int a=1,b=2,c=4;经过表达式(c=a!=b)&&(a= =b)&&(c=b)运算后,a、b和c的值分别是()A.1,2,0B.1,2,1C.1,2,2D.1,2,320. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A. int argv;B. char * argv[];C. char argv[];D. char ** argv[];第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
大连理工大学C语言模拟题机房题库单选、判断、填空(分章节_共十一章)
第一部分注意事项1. 请对照《课件》和《教材》进行练习。
2. 熟悉键盘,注意竖杠“|”和反斜杠“\”的位置,请在西文状态下输入。
3. 单选题、判断题和填空题要会验证。
当输入汉字时,可能输入提示框是灰色的,再按一次中英文切换键即可。
4. 程序填空题不能删除注释/*****FILL*****/,但必须删除标记符号_____,否则编译通不过。
如,for(i=10; ____; i++)。
5. 程序改错题不能删除注释/*****ERROR*****/,仅在其下一行进行修改。
6. 程序填空题和程序改错题存盘即可。
但最好编译运行一下,编译时会自动存盘。
编译帮助检查语法错误,运行帮助检查逻辑错误。
7. 程序设计题不能删除注释/****BEGIN*****/和/****END*****/,只能在两个标记符之间编写程序。
必须保证编译、链接、运行都正确。
8. 以上程序题中不能更改程序结构和其它位置的程序代码,可以忽略其它程序位置的警告。
9. 如果VC发生死机(见图,可用按钮都变成灰色),请结束VC进程,再继续答题或重答。
结束VC进程的方法:先进入“任务管理器”;再选下面一种方法操作:方法1:选择“应用程序”标签,选中“VC任务”,按“结束任务”。
方法2:选择“进程”标签,选中“MSDEV.EXE”,按“结束进程”。
10. 提交试卷并看到成绩后再离开。
11.出现问题立即请示监考老师。
12.请记住几个常用的函数。
数学函数:sin(),cos(),tan(),log(),exp(),pow(),sqrt(),abs(),fabs()字符串函数:strcat(),strcpy(),strcmp(),strlen(),strlwr(),strupr()输入输出函数:printf(),scanf(),putchar(),getchar(),puts(),gets(),fopen(),fclose(),fprintf(),fscanf(),feof()其它实用函数:rand(),exit()第二部分概念题第1章概述1. C程序是的基本组成单位是_______. 函数2. C语言的程序结构分为______、选择结构和循环结构。
C++试题及答案(一)
C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分.1。
编写C++程序一般需经过的几个步骤依次是()A。
编辑、调试、编译、连接B. 编辑、编译、连接、运行C。
编译、调试、编辑、连接D。
编译、编辑、连接、运行答案:B解析:经过编辑、编译、连接和运行四个步骤.编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程.2。
决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B。
调用该函数时系统随机产生的类型C。
调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:函数的返回值类型由定义函数时的指定的数据类型决定的.A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A。
派生类一般都用公有派生B。
对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D。
基类的公有成员在派生类中仍然是公有的答案:D解析:继承方式有三种:公有、私有和保护.多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4。
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A。
类B. 对象C. 函数体D. 数据块答案:A解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
c语言试卷答案
c语⾔试卷答案2014-2015学年第⼀学期C语⾔期末考模拟试卷考试时间:120分钟⼀、计算机基础(10’=10*1’)1.下列关于字节的叙述中,正确的⼀项是A)字节通常⽤英⽂单词“bit”来表⽰,有时也可以写做“b”B)⽬前⼴泛使⽤的Pentium机其字长为5个字节C)计算机中将8个相邻的⼆进制位作为⼀个单位,这种单位称为字节D)计算机的字长并不⼀定是字节的整数倍【解析】选项A:字节通常⽤Byte表⽰。
选项B:Pentium机字长为32位。
选项D:字长总是8的倍数。
2.⼗进制数215⽤⼆进制数表⽰是A)1100001 B)11011101 C)0011001 D)11010111【解析】⼗进制整数向⼆进制的转换采⽤“除⼆取余”法,结果反取。
3. 在计算机中存储数据的最⼩单位是A)字节B)位C)字 D)KB【解析】在计算机中存储数据的最⼩单位是⼆进制位。
4.微机中1KB表⽰的⼆进制位数是A)1 000 B)8×1 000 C)1024 D)8×1024【解析】8个⼆进制位组成⼀个字节,1KB共1024字节。
5.下列字符中,其ASCII码值最⼩的是( )A)8B)a C)Z D)m【解析】各种数字符号的ASCII码值要⼩于所有英⽂字母的ASCII码值。
6.下列关于汉字编码的叙述中,不正确的⼀项是( )A)汉字信息交换码就是国际码 B)2个字节存储⼀个国际码C)汉字的机内码就是区位码 D)汉字的内码常⽤2个字节存储【解析】汉字的机内码=汉字的国际码+8080H,国际码是区位码中的区码和位码各⾃转换成⼗六进制后各加20H。
7.将⾼级语⾔编写的程序翻译成机器语⾔程序,所采⽤的两种翻译⽅式是( )A)编译和解释B)编译和汇编 C)编译和链接D)解释和汇编8.⼀个栈的⼊栈序列是按a、b、c、d、e,则栈的不可能输出序列()A. edcbaB. decbaC. dceabD. abcde9.在16×16点阵的汉字字库中,存储⼀个汉字的字模所占的字节数为( )A)16 B)32 C)64 D)2【解析】汉字的输出主要指显⽰输出和打印输出汉字的字形(即字模)。
全国计算机等级考试二级-基础知识和C语言程序设计 模拟考试试卷及答案(一)
全国计算机等级考试二级-基础知识和C语言程序设计模拟考试试卷及答案(一)一、选择题(1)下列设备中只能作为输入设备的是A)磁盘驱动器 B)鼠标器 C)存储器 D)显示器(2)下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是A)Ctrl+Break B)Ctrl+P C)Ctrl+C D)Ctrl+H(3)通常所说的386机是A)8位机 B)16位机 C)32位机 D)64位机(4)二进制数01100100转换成十六进制数是A)64 B)63 C)100 D)144(5)十六进制数100转换成十进制数是A)1024 B)512 C)256 D)128(6)对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的主法A)不要与有病毒的软盘放在一起 B)在写保护口贴上胶条C)保持软盘清洁 D)定期对软盘格式化(7)在启支DOS系统时,启动盘的根目录下必须包含的文件有A) B) C) D)(8)DOS系统启动后,下列文件中常驻内存的是A) B) C) D)(9)下列字中,不能作为DOS磁盘文件名的是A)JTU B)93GZ.PRG C)CON D)ATT&T.BAS(10)下列命令中属于内部命令的是A)SYS B)COSP C)DIR D)DISKCOMP(11)下列文件名中,能与ABC?.?匹配的是A)AB12.C B)ABCD.FOR C)ABC.TXT D)ABCD.C(12)要列出当前盘当前目录中第三个字符为"B"的所有文件的清单, 可使用的命令为A)DIR* *B*.* B)DIR ??B*.*? C)DIR ??B.* D)DIR ??B*.*(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1, 若要进入子目录D2,可使用的命令为A)CD D2 B)CD D2\C)CD \D2 D)CD D1\D2(14)设当前盘为C盘,A盘当前目录为根目录, 为了删除A 盘目录\ WS 下扩展名为.TXT的所有文件,可用的命令为A)DEL WS\*.TXT B)DEL \WS\*.TXTC)DEL A:\WS\?.TXT D)DEL A:WS\*.TXT(15)设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X.下列命令中正确的是A)MD \AAA\BBB\A B)MD XC)MD \ D)MD \AAA\BBB\A\B\X(16)在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是A)DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)B)FORMAT A:与DEL A:*.*(A盘为启动盘)C)DISKCOPY A: B: 与 COPY A:*.* B:(A盘为启动盘)D)COPY F1 F2 与TYPE F1>F2(当前盘当前目录下有文件F1)(17)为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为A)FORMAT A: B)FORMAT A:/S/1C)FORMAT A:/S/4 D)FORMAT A:/S(18)要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为A)COPY *.TXT PRN B)COPY *.TXT >PRNC)TYPE *.TXT PRN D)TYPE *.TXT >PRN(19)设B盘目录结构如下:B:\根目录─┬─F1子目录──F11子目录───FA.TXT│├─F2子目录┬─F21子目录─┬─FB.BAS│ │ ││ │ ││ └─F22子目录└─FC.TXT└─设B盘的当前目录为\F2,要将\A盘当前目录下的文件P.BAS复制到B盘的F3 子目录中,可用的命令为A)COPY P.BAS B: B)COPY A:P.BAS B:\C)COPY A:P.BAS B:\F3 D)COPY A:P.BAS B:F3\(20)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为A)COPY A.TXT+X.TXT A:Y.TXTB)COPY B.A.TXT+X.TXT A:Y.TXTC)COPY B:A.TXT+B:X.TXT >Y.TXTD)COPY B:A.TXT+B:X.TXT Y.TXT(21)C语言中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型(22)C语言中,运乍对象必须是整型数的运算符是A)% B)\C)%和\ D)* *(23)为表示关系x≥y≥z,应使用C语言表达式A)(x>=y)&&(y>=z) B(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)(24)下述对C语言字符数组的描术中错误的是A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较(25)设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是A)1 B)0C)4 D)3(26)以下程序的输出结果是main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9C)9 10 D)10 9(27)定义如下变题和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是for(i=0;i<3;i++) printf("%d",x[i][2-1]);A)1 5 9 B)1 4 7C)3 5 7 D)3 6 9(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A)a<>0 B)!aC)a=0 D)a(29)阅读程序:#includemain(){int a[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%x\n",p);printf("%x\n",p+9);}该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是A)203 B)204C)1a4 D)1a6(30)设有如下函数定义:int f(char *s){ char *p=s;while(*p!='\0')\p++;return(p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为printf("%d\n",f("goodbey!"));A)3 B)6C)8 D)0(31)以下说法中正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分(32)执行下面的程序后,a的值为main(){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7 B)8C)9 D)10(33)以下程序段的输出结果是int x=3;do{ printf("%3d",x-=2);}while(!(--x));A)1 B)3 0C)1-2 D)死循环(34)定义如下变量:int n=10;则下列循环的输出结果是while(n>7){ n--;printf("%d\n",n);}A)10 B)9 C)10 D)99 8 9 88 7 8 77 6(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + 〉 5)printf("%d",x);else printf("%d\n",x - -);}A)7和5 B)6和3 C)7和4 D)6和4(36)设有如下定义:char *aa[2]={"abcd","ABCD"};则以下就法中正确的是A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址(37)以下程序的输出结果是main( ){ int a=-1,b=4,k;k=(+ +a〈0)&&!(b - -〈=0);printf("%d%d%d\n",k,ab);}A)104 B)103 C)003 D)004(38)设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是 A)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)(39)下列程序的输出结果是main( ){ char*p1,*p2,str[50]="xyz";p1="abcd";p2="ABCD";strcpy(str+2,strcat(p1+2,p2+1);printf)"%s",str);}A)xyabcAB B)abcABzC)ABabcz D)xycdBCD(40)执行下面的程序后,a的值是#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A)10 B)1 C)9 D)0(41)下列程序执行后输出的结果是#include 〈stdio.h〉f(int a){ int b=0;statin c=3:a=c+ +,b+ +;returu(a);}main( ){ int a=2,i,k;for(i=0;i〈2;i=+ +)k=f(a+ +);printf("%d\n",k);}A)3 B)0 C)5 D)4(42)下列程序的输出结果是main( ){ int a[5]={2,4,6,8,10},*P,* *k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",* *k);}A)4 4 B)2 2 C)2 4 D)4 6(43)阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈3;i++)n[i]=0;k=2;for (i=0;i〈k;i++)for (j=0;j〈k;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运行后输出结果是A)2 B)1 C)0 D)3(44)字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是#include〈stdio.h〉main( ){ union { int i[2];long k;char c[4];}r,*s=&r;s->i[0]=0x39;s->i[1]=0x38;printf("%c\n",s->c[0])}A)39 B)9 C)38 D)8(45)设有以下定义:typedef union{ long i;int k[5];char c;}DATE;struct date{ int cat;DATE cow;double dog;}too;DATE max;则下列语句的执行结果是printf("%d",sizeof(struct date)+sizeof(max));A)25 B)30 C)18 D)8(46)执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf("%d\n",y);}A)17 B)18 C)19 D)20(47)下列程序执行后输出的结果是]int d=1;fun (int q){ int d=5;d + =p + +;printf("%d".d);}main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d);}A)8 4 B)9 6 C)9 4 D)8 5(48)下列程序的输出结果是main( ){ char ch[2][5]={"6934,"8254"},*p[2];int i,j,s=0;for(i=0;i<2;i + +)p[i]=ch[i];for(i=0;i<2;i + +)for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);A)6385 B)69825 C)63825 D)693825(49)以下程序的输出结果是fut (int**s,int p[2][3]){ **s=p[1][1]; }main( ){ int a[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);primtf("%d\n",*p);}A)1 B)7 C)9 D)11(50)以下程序的输出结果是#include"ctype.h"space (char *str){ int i,t;char ts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(! isspace(*str+i)&&(*(str+i)!='a')) ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}mian( ){ char s[81]={"a b c d e f g"};space(s);puts(s);}A)abcdeg B)bcde C)ABCDE D)BCDE二、填空题(1)十进制数112.375转换成十六进制数为(2)存储200个32×32点阵的汉字信息需 KB─(3)数字符号0的ASCⅡ码十进制表示为48,数字符号9的ASCⅡ码十进制表示为(4)DOS命令分为内部命令与外部命信,TREE命令属于命令.(5)自动批处理文件的文件名为(6)下列程序的输出结果是int ast(int x,int y,int * cp,int * dp){ *cp=x+y;*dp=x-y;}main(){ int a,b,c,d;a=4;b=3;ast(a,b,&c,&d);printf("%d %d/n",c,d);}(7)以下程序的功能是:人键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while(9)─{ if(x>amax)amax=x;if(10)amin=x;─scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}(8)下面程序通过函数average计算数组中各元素的平均值,请填空.float average(int * pa,int n){ int i;float avg=0.0;for(i=0;imain(){ FILE * fp;char ch,fname[10];printf("lnput the name of file\n");gets(fname);if((fp=16)==NULL){ printf("Cannot open\n"); exit(0);}printf("Enter data\n");while((ch=getchar())!='#')fputc(17,fp);fclose(fp);}(9)以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾.单向链表的头指针作为函数值返回,请填空: #includestruct list{ char data;struct list * next;};struct list * creat(){ struct list * h,* p,* q;char ch;h=18 malioc(sizeof(struct list));p=q=h;ch=getchar();while(ch!='?'){ p=19 malloc(sizeof(struct list));p->data=ch;p->next=p;q=p;ch=getchar();}p->next='\0';20}答案一、选择题(1)B(2)B(3)C(4)A(5)C(6)B(7)B(8)B(9)C(10)C(11)D(12)D(13)C(14)D(15)B(16)D(17)C(18)A(19)C(20)D(21)B(22)A(23)A(24)C(25)D(26)D(27)C(28)D(29)D(30)C(31)C(32)B(33)C(34)B(35)A(36)D(37)D(38)D(39)D(40)B(41)D(42)C(43)D(44)B(45)B(46)C(47)A(48)A(49)C(50)D二、填空题(1)70.6(2)25(答25KB不扣分)(3)57(4)外部(答外部命令不扣分)(5)AUTOEXEC.BAT(答AUTOEXEC扣1分)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言模拟试卷一 一、单项选择题 (50分,每题2分) 1.不合法的字符常量是 ( B) 。[2分] A‘\t’ B“A” C‘a’ D’\x32’ 2.假定x和y为double型,则表达式x=2,y=x+3/2的值是 (D ) 。[2分] A3.500000 B3 C2.000000 D3.000000 3.putchar ( )函数可以向终端输出一个 ( D) 。[2分] A整型变量表达式值 B实型变量值 C字符串 D字符或字符型变量值 4.在C语言中,要求参加运算的数必须时整数的运算符是 (C ) 。[2分] A/ B* C% D= 5.执行下列程序片段时输出结果是 (A ) 。 int x=13,y=5; printf(“%d”,x%=(y/=2));[2分] A1 B2 C3 D0 6.已知i,j,k为int型变量,若从键盘输入:1,2,3,使I的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是 (C ) 。[2分] A scanf(“%2d%2d%2d”,&i,&j,&k); B scanf(“%d_%d_%d”,&i,&j,&k); C scanf(“%d,%d,%d”,&i,&j,&k); D scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 7.C语言的程序一行写不下时,可以 (C ) 。[2分] A用逗号换行 B用分号换行 C在任意一空格处换行 D用回车符换行 8.putchar ( )函数可以向终端输出一个 ( D) 。[2分] A整型变量表达式值 B实型变量值 C字符串 D字符或字符型变量值 9.执行下列程序片段时输出结果是( C) 。 int x=13,y=5; printf(“%d”,x%=(y/=2));[2分] A3 B2 C1 D0 10. 10逻辑运算符两侧运算对象的数据类型(A ) 。[2分] A可以是任何类型的数据 B只能是0或非0正数 C只能是整型或字符型数据 D只能是0或1 11.C语言对嵌套if语句的规定是:else总是与( B) 。[2分] A其之前最近的if配对 B其之前最近的且尚未配对的if配对 C缩进位置相同的if配对 D第一个if配对 12.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B) 。[2分] A1 B2 C3 D4 13.以下程序片段(A ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(“***”); else printf(“###”); }[2分] A输出:### B输出:*** C可以编译,但不能通过连接,所以不能运行 D有语法错误,不能通过编译 14.以下程序输出结果是(B ) 。 main ( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2:a++; b++; break; case 3:a++; b++; } printf(“a=%d,b=%d”,a,b); }[2分] Aa=1,b=0 Ba=2,b=1 Ca=1,b=1 Da=2,b=2 15.下面程序段 int k=2; while (k=0) { printf (“%d”, k);k- -;} 则下面描述中正确的是(C ) 。[2分] Awhile循环执行10次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次 16.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择(A) 填空。 main ( ) { int m=0,n=0; char c; while ( ( ) != ’\n’) { if (c>=’A’ && c<=’Z’) m++; if (c>=’a’ && c<=’z’) n++; } }[2分] Ac=getchar( ) Bgetchar( ) Cc==getchar( ) Dscanf(“%c”,&c) 17.若有定义:int a[10],则对数组a元素的正确引用是(D )[2分] A a[10] B a[3.5] C a(5) D a[0] 18.定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是( C)。[2分] A1 5 9 B1 4 7 C3 5 7 D3 6 9 19.不能把字符串:Hello!赋给数组b的语句是(B )。[2分] Achar b[10]={'H','e','l','l','o','!'}; Bchar b[10]; b="Hello!"; Cchar b[10]; strcpy(b,"Hello!"); Dchar b[10]="Hello!"; 20.以下说法中正确的是( C)。[2分] AC语言程序总是从第一个的函数开始执行 B在C语言程序中,要调用的函数必须在main( )函数中定义 CC语言程序总是从main( )函数开始执行 DC语言程序中的main( )函数必须放在程序的开始部分 21.若调用一个函数,且此函数中没有return语句,则正确的说法是 ( A)。[2分] A该函数没有返回值 B该函数返回若干个系统默认值 C能返回一个用户所希望的函数值 D返回一个不确定的值 22.以下程序的输出结果是(D )。 char str[15]=”hello!”; printf(“%d\n”,strlen(str));[2分] A15 B14 C7 D6 23.在函数中默认存储类型说明符的变量应该是(C)存储类型。[2分] A内部静态 B外部 C自动 D寄存器 24.C语言规定,函数返回值的类型是由(C )决定的。[2分] A return语句中的表达式类型 B调用该函数时的主调函数类型 C在定义函数时所指定的函数类型 D调用该函数时由系统临时 25.以下正确的描述是( B) 。[2分] A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用均不可以嵌套 D函数的定义和函数的调用均可以嵌套 二、判断题 (10分,每题1分) 1.main函数必须写在一个C程序的最前面。( )[1分] 对 错 2.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。( )[1分] 对 错 3.C语言不允许混合类型数据间进行运算。( )[1分] 对 错 4.逻辑运算符 && || ! 的运算顺序是 ! 优先于 && 且优先于 || ( )[1分] 对 错 5.多个case可以执行相同的程序段。( )[1分] 对 错 6.continue语句只能用于三个循环语句中。 ( )[1分] 对 while 、do„„while、for 错 7.在while循环中允许使用嵌套循环,但只能是嵌套while循环。( )[1分] 对 错 8.在定义数组时,有时可以将该数组的维数省略。( )[1分] 对 错 9.数组名代表数组的首地址。( )[1分] 对 错 10.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。( )[1分] 对 错 三、填空题 (20分,每题2分) 1.C语言中基本的数据类型有:整型、实型、字符型 。[每空1分] 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为字母或下划线。[每空2分] 3.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#incude(或#incude“stdio.h”) 。[每空2分] 4.设int a; float f; double i; 则表达式10+’a’+i*f值的数据类型是double(双精度型) 。[每空2分] 5.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为2.5。[每空2分]先把x+y的值转换成整型,再依次自左往右进行计算。 6.有int x=3,y=-4,z=5;则表达式(x && y)==(x || z)的值为 1。[每空2分] 8.C语言三个循环语句分别while语句、do-while语句语句和for语句语句。[每空1分]
9.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为0,a[2][1]得到的值为6。[每空1分] 10.C语言变量按其作用域分为 全局变量和局部变量。按其生存期分为动态存储 和静态存储 。[每空1分] 四、程序设计(20分 每题10分) 1.输入一行字符以’\n’作为输入结束符,分别统计出其中英文字母,空格,数字和其他字符的个数。[10分] 参考答案: #include "stdio.h" main() { char c; int letters=0,space=0,digit=0,others=0; printf("please input some characters\n"); while((c=getchar())!='\n') {