C语言考试模拟试题-11
C语言程序设计模拟试题11一、填...
C语言程序设计模拟试题11一、填空题(每空1分,共10分)1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。
2. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6。
3. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x<z||y<z。
4. 若for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式1执行1次,表达式3执行3次。
5. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 。
二、阅读填空(每空2分,共12分)。
1.以下函数求x的y次方。
duble fun(double x,int y){int i;double z=1.0;for(i=1;i <=y ;i++)z=z*x ;return(z);}2.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行结束循环。
int n=0; char c;c=getchar();while(c!=‘\n’){ if(c>=‘0’&& c<=‘9’) n++;c=getchar(); }3.下面程序中可求出矩阵a的两条对角线上的元素之和。
#include“stdio.h”main(){int a[3][3]={1,3,6,7,9,11,14,15,17}, sum1=0,sum2=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j) sum1=sum1+a[i][j];for(i=0;i<3;i++)for(j=2;j>=0;j--)if((i+j)==2) sum2=sum2+a[i][j];printf(“sum1=%d,sum2=%d\n”,sum1,sum2);}三、单项选择题(每小题2分,共78分)1.一个C语言的执行是从 A 。
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语言》模拟试题及答案(1)程序流程图中带有箭头的线段表示的是( )。
A.图元关系B.数据流C.控制流D.调用关系(2)结构化程序设计的基本原则不包括( )。
A.多态性B.自顶向下C.模块化D.逐步求精(3)软件设计中模块划分应遵循的准则是( )。
A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是( )。
A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划(5)算法的有穷性是指( )。
A.算法程序的运行时问是有限的。
B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n一1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序(7)下列关于栈的叙述正确的是( )。
A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据(8)在数据库设计中,将E—R图转换成关系数据模型的过程属于( )。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段(9)有三个关系R、s和T如下:由关系R和s通过运算得到关系T,则所使用的运算为( )。
A.并B.自然连接C.笛卡尔积D.交(10)设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为( )。
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩(11)以下叙述中错误的是( )。
A.c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D.c语言源程序经编译后生成后缀为.obj的目标程序(12)以下选项中,合法的一组c语言数值常量是( )。
计算机等级考试 二级C语言 笔试模拟试题 北邮十
一、选择题(1-11每题2分,11-21每题1分,21-40每题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1.长度为0的线性表称为________。
(A)数据单元(B)记录(C)空表(D)单个数组2.下面对对象概念描述错误的是________。
(A)任何对象都必须有继承性(B)对象是属性和方法的封装体(C)对象间的通讯靠消息传递(D)操作是对象的动态性属性3.在完全二叉树中,若一个结点没有________,则它必定是叶子结点。
(A)右子结点(B)左子结点或右子结点(C)左子结点(D)兄弟4.软件测试方法中的________属于静态测试方法。
(A)人工检测(B)路径覆盖(C)黑盒法(D)边界值法5.软件设计包含过程设计、接口设计、体系结构设计和数据设计,其中最后完成的设计是________。
(A)过程设计(B)接口设计(C)体系结构设计(D)数据设计6.在数据流程图中,当数据流向或流自文件时________。
(A)数据流要命名,数据存储不必命名(B)数据流不必命名,有数据存储名就足够了(C)数据流和数据存储均要命名,因为流入和流出的数据流是不一样的(D)数据流和数据存储(或文件)都不要命名,通过加工可自然反映7.________处于中层,反映了设计者的数据全局逻辑要求。
(A)概念模式(B)内模式(C)外模式(D)模式8.E-R模型中的"实体标识符"术语对应于机器世界中的术语是________。
(A)记录(B)字段(C)文件(D)关键码9.在基本层次联系中,学校与校长之间的联系是________。
(A)一对一联系(B)一对多联系(C)多对多联系(D)多对一联系10.设关系R和S分别有m和n个元组,则R×S的元组个数是________。
(A)m(B)n(C)m+n(D)m×n11.以下函数调用语句中含有________个实参。
国家二级C语言(公共基础知识)机试模拟试卷11
国家二级C语言(公共基础知识)机试模拟试卷11(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.下面描述中不属于软件需求分析阶段任务的是( )。
(分数:2.00)A.撰写软件需求规格说明书B.软件的总体结构设计√C.软件的需求分析D.软件的需求评审解析:解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
软件的总体结构设计属于软件设计阶段的任务。
2.下面不属于软件需求规格说明书内容的是( )。
(分数:2.00)A.软件的可验证性√B.软件的功能需求C.软件的性能需求D.软件的外部接口解析:解析:软件需求规格说明应重点描述软件的目的,软件的功能需求、性能需求、外部接口、属性及约束条件等。
3.下面可以作为软件需求分析工具的是( )。
(分数:2.00)A.N-S图B.程序流程图C.PAD图D.数据流程图(DFD图) √解析:解析:常见的需求分析方法有结构化分析方法和面向对象的分析方法。
结构化分析方法工具包括数据流图(DFD)、数据字典(DD)、判定表和判定树等。
程序流程图、N-S图、PAD图属于软件设计阶段使用的工具。
4.数据流图(DFD)中的有向箭头(→)表示( )。
(分数:2.00)A.控制流B.数据流√C.输入流D.输出流解析:解析:数据流图中的主要图形元素与说明如下:加工(转换):输入数据经加工变换产生输出。
→数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。
存储文件:表示处理过程中存数据的原点和终点:表示系统和环境的接口,属系统之外的实体。
5.下列数据流图(DFD)构造规则中正确的是( )。
(分数:2.00)A.子图的输入输出数据流与父图中相关加工的输入输出数据流必须一致√B.“数据存储”间应有数据流C.“数据流”可不带有数据流名D.父图子图是指任意上下层的两个数据流图解析:解析:数据流图应遵循以下构造规则和注意事项:①对加工处理建立唯一、层次性的编号,且每个加工处理通常要求既有输入又有输出。
C语言模拟题
C语言模拟试题(一)一、选择题1、以下字符中不是转义字符的是( A )。
A、 '\c'B、 '\b'C、 '\\'D、 '\a'2、设 a=12,且 a定义为整型变量。
执行语句a+=a-=a*=a;后 a的值为( A)。
A、 0B、 144C、 132D、 123、已定义 float x=,y=;依照下面的输出结果,正确的输出语句是(C ).y+x=,y-x=A、 printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、 printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC、 printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D、 printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后 ,b的值为 (A ).int s=35;char t='A'; int b;b=((s&&4)&&(t<'a'));A、 1B、 3C、 2D、 05 k是整型 ,则以下程序段的执行结果是:(B )k=-3;if(k<=0) printf("####")else printf("&&&&");A、 ####B、有语法错误,无结果C、 &&&&D、 ####&&&&6设 j和 k都是 int 种类,则下面的 for 循环语句( D)。
for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A、最多执行 9次B、是无量循环C、循环体一次也不执行D、最多执行 10 次7 以下正确的描述是(A ).A、只幸亏循环体内和switch 语句内使用 break 语句B、 continue 语句的作用是停止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用 goto 语句D、在循环体内使用break和 continue 语句的作用相同8 以下能对一维数组a进行正确初始化的语句是(B)。
C语言-模拟考试题
C语言模拟试题选择题(1)1.若有下列定义:char c[3],*pc=c; 则对c数组元素地址的正确引用是:A. &c[3]B. pc[3]C. pc+2D. &c2.执行语句printf(“%d\n”,strlen(“abc\x41\n”));输出结果是:A. 5B. 7C. 3D. 43设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为:struct student{char name[20];int age;char sex;}stu[5], *p;p=stu;A. scanf("%s", stu[0].name);B. scanf("%d", p->age);C. scanf("%c", &p->sex);D. scanf("%d", &stu[0].age);4若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为:A. 0B. 1C. 2D. 35若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则执行此语句后,a[2][1]得到的初值是:A. 4B. 2C. 6D. 86若有int a=1,b=4,c=3,d=2;语句,则执行完该语句后,条件表达式a<b?a:c<d?c:d的值为:A. 1B. 2C. 3D. 47putchar()函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值8下列各语句中正确定义了数组的是:A. int a[5],b[2,3];B. char str(30);C. int x[];D. int x[5]={1,2,3};9将整型变量a、b中的较大值为变量c赋值,下列语句中正确的是:A. c= =(a>b)? a:b;B. c=(a>b)?a:b;C. c=if(a>b)a else b;D. (a<b)?c=a:c=b;10若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是:A. 1B. 2C. 2.0D. 2.511以下语句或语句组中,能正确进行字符串赋值的是:A. char s[10]; s="right!";B. char *sp="right!";C. char s[10]; *s="right!"D. char *sp; *sp="right!";12若int a[ ][4]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是:A. 1B. 2C. 3D. 无确定值13若要求以下程序的输出结果是a=5,b=4,则输入数据的形式应该是:#include “stdio.h”main(){ int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b); }A. 5 4B. 5,4C. 5 b=414以下运算符中,优先级最高的是:A. <=B. &&C. =D. ++15以下对C语言函数的描述中,不正确的是:A. C语言中,函数可以嵌套定义B. C语言中,函数可以递归调用C. C语言中,函数可以没有返回值D. C语言程序由函数组成16若有以下定义和语句,则不能访问数组元素的表达式是:int i=2,*p,a[ ]={1,2,3,4,5};p=a;A. *(a+i)B. a[p-a]C. p+iD. *(&a[i])17C语言中NULL表示:A. 空指针B. 变量未找到C. 字符串的结束符D. 文件的结束符18以下程序的运行结果是:#include "stdio.h"main()if (m++>5) printf("%d\n",m);else printf("%d\n", m--);}A. 4B. 5C. 6D. 719以下程序的运行结果是:#include "stdio.h"main(){int a[][3]={{1,2,3},{4,5},{6},{0}};printf("%d,%d,%d\n",a[1][1],a[2][1],a[3][1]); }A. 3,2,1B. 5,0,0C. 4,1,0D. 1,5,020下面程序的运行结果是:#include "stdio.h"main(){int a[10]={2,4,6,8,10,12,14,16,18},*p;p=a+5;printf ("%d,%d\n",*(p+1),*++p+1); }A. 16,15B. 14,16C. 16,18D. 15,1421以下程序的输出结果是:#include "stdio.h"fun2( int a,int b){ int c;c=a*b%3;fun1(int a,int b){ int c;a+=a;b+=b;c=fun2(a,b);return c*c;}main(){ int x=11,y=19;printf("%d\n", fun1(x,y));}A. 3B. 5C. 4D. 622以下程序运行后的输出结果是?#include "stdio.h"#define SQR(x) x*xmain(){ int a,k=3;a=++SQR(k+1);printf("%d\n",a); }A. 7B. 8C. 9D. 1023执行语句for(i=10;i>0;i--);后,变量i的值为:A. 10B. 0C. 9D. 124下列i,j,k 均为整型变量,选项中不正确的C语言赋值语句是:A. i+1=k;B. i=j=k=1;C. i=j+=++k;D. j=i+1==i++;25设有语句int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;则不能对a数组元素的正确引用是:A. a[p-a]B. *(*(a+5))C. p[5]D. *(&a[5])26已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是:A. 数组a和b的元素个数相同B. a数组元素少于b数组C. a数组元素多于b数组D. 上述说法都不对27以写方式打开二进制文件my.dat的正确写法是:A. fopen(“my.dat”,”rb”);B. fopen(“my.dat”,”r”);C. fopen(“my.dat”,”wb”);D. fopen(“my.dat”,”w”);28对于定义struct sa{int x;float y;}data,*p=&data;请从下列候选答案中,选择变量data的x成员的正确引用:A. (*p).dataB. (*p).xC. p->data.xD. p.data.x29循环语句的循环体中执行continue语句,其作用是:A. 立即终止程序执行B. 继续执行continue语句之后的循环体各语句C. 结束本次循环D. 跳出循环30定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用:A. scanf(“%f”,&a);B. scanf(“%5.2f”,a);C. scanf(“%6.2f”,&a);D.scanf(“%f”,a);选择题(2)1.以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在2以下关于C语言的叙述中正确的是A. C语言中的注释不可以夹在变量名或关键字的中间B. C语言中的变量可以在使用之前的任何位置进行定义C. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D. C语言的数值常量中夹带空格不影响常量值的正确表示3以下C语言用户标识符中,不合法的是A. _1B. AaBcC. a_bD. a-b4若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A. a=a++,i++;B. i=(a+k)<=(i+k);C. i=a%11;D. i=!a;5有以下程序#include<stdio.h>main() {char a,b,c,d; scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据:(<CR>代表回车)12<CR>34<CR>则输出结果是A. 1234B. 12C. 123D. 12346以i关于C语言数据类型使用的叙述中错误的是A. 若要准确无误差的表示自然数,应使用整数类型B. 若要保存带有多位小数的数据,应使用双精度类型C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型7若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A. 1B. 0C. 2D. 不知道a的值,不能确定8以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A. switch(a){case:a=b;break;default:a++;}B. switch(a==1){case 0:a=b;break;case 1:a++;}C. switch(a){default:a++;break;case 1:a=b;}D. switch(a==1){case 1:a=b;break;case 0:a++;}9有如下嵌套的if语句if (a<b)if(a<c)k=a;else k=c;elseif(b<c) k=b;else k=c;10以下选项中与上述if语句等价的语句是A. k=(a<b)?a:b;k=(b<c)?b:c;B. k=(a<b)?((b<c)?a:b):((b>c)?b:c);C. k=(a<b)?((a<c)?a:):((b<c)?b:c)D. k=(a<b)?a:b;k=(a<c)?a:c;11有以下程序#include<s七dio.h>main(){int i,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A. m=6B. m=4C. m=2D. m=512有以下程序#include<stdio.h>main(){int a=l,b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A. 9,18B. 8,11C. 7,11D. 10,1413有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A. 12B. 11C. 10D. 914以下关于return语句的叙述中正确的是A. 一个自定义函数中必须有一条return语句B. 一个自定义函数中可以根据不同情况设置多条return语句C. 定义成void类型的函数中可以有带返回值的return语句D. 没有return语句的自定义函数在执行结束时不能返回到调用处15下列语句组中,正确的是A. char *s;s="Olympic";B. char s[7];s="Olympic";C. char *s;s={"Olympic"};D. char s[7];s={"Olympic"};16下列选项中,能正确定义数组的语句是A. int num[0..2008];B. int num[];C. int N=2008;int num[N];D. #define N 2008int num[N];17有以下程序#include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A. b,B,b,AB. b,B,B,AC. a,B,B,aD. a,B,a,B18若有定义int(*Pt)[3];,则下列说法正确的是[D]A. 定义了基类型为int的三个指针变量B. 定义了基类型为int的具有三个元素的指针数组ptC. 定义了一个名为*pt、具有三个元素的整型数组D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组19设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A. (*s)[3]B. *(s+3)C. *s[3]D. *s+320有以下程序#include<stdio.h>main(){int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]];printf("%d\n",s);}程序运行后的输出结果是A. 6B. 10C. 11D. 1521有以下程序#include <stdio.h>main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A. 1B. 3C. 2D. 522若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A. 5 5B. 10 5C. 10 7D. 5 823有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是A. 1313B. 2234C. 3234D. 123424有以下程序#include <stdio.h>int f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A. 4B. 10C. 14D. 625有以下程序#include <stdio.h>int fun(){ static int x=1;x=x*2; return x;}main(){int i,s=1;for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A. 0B. 1C. 4D. 826有以下程序#include <stdio.h>#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A. 0B. -12C. -20D. 1027设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A. data2=data1;B. data2=(2,6)C. data2.real=data1.real;D. data2.real=data1.unreal;28有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A. 1001,zhangDa,1098.0B. 1002,changRong,1202.0C. 1001,ehangRong,1098.0D. 1002,ZhangDa,1202.029有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A. *pw.year=1980;B. w.year=1980;C. pw->year=1980;D. w.s.year=1980;30有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A. 0B. 1C. 2D. 331有以下程序#include <stdio.h>main(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A. abcB. 28cC. 28D.因类型不一致而出错选择题(3)1、以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中3以下选项中不属于字符常量的是:A. ′C′B. "C"C. ′\xCC′D. ′\072′4设变量已正确定义并赋值,以下正确的表达式是:A. x=y*5=x+zB. int(15.8%5)C. x=y+z+5,++yD. x=25%5.05以下定义语句中正确的是:A. int a=b=0;B. char A=65+1,b=′b′;C. float a=1,*b=&a,*c=&b;D. double a=0.0;b=1.1;6有以下程序段char ch; int x;ch=′A′; x=20;printf("%c,%d,",ch,ch,x); printf("x=%d\n",x,ch);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是:A. 因变量类型与格式描述符的类型不匹配输出无定值B. 输出项与格式描述符个数不符,输出为零值或不定值C. A,65,12x=20D. A,65,x=207已知字母A的ASCII码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是:A. kk>=′A′&& kk<=′Z′B. !(kk>=′A′||kk<=′Z′)C. (kk+32)>=′a′&&(kk+32)<=′Z′D. isalpha(kk)&&(kk<91)8当变量c的值不为2、4、6时,值为"真"的表达式是:A. (c==2)||(c==4)||(c==6)B. (c>=2&& c<=6)&&((c==3)||(c==5))C. (c>=2&&c<=6)&&!(c%2)D. (c>=2&& c<=6)&&(c%2!=1)9以下不构成无限循环的语句或语句组是:A. n=0; do{++n;}while(n<=0);B. n=0; while(1){n++;}C. n=10; while(n);{n--;}D. for(n=0,i=1; ;i++)n+=i;10以下错误的定义语句是:A. int x[][3]={{0},{1},{1,2,3}};B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D. int x[][3]={1,2,3,4};11设有如下程序段char s[20]="Beijing",*p;p=s;则执行p=s;语句后,以下叙述正确的是:A. 可以用*p表示s[0]B. s数组中元素的个数和p所指字符串长度相等C. s和p都是指针变量D. )数组s中的内容和指针变量p中的内容相同12若有定义:int x[4][5];,以下选项中对x数组元素正确引用的是:A. x[4][0]B. x[3][5]C. x[4][4]D. x[2>4][!3]13有定义语句:char str[10];,若要从终端给str输入8个字符,错误的输入语句是:A. gets(&s[0]);B. scanf("%s",s+1);C. gets(s);D. scanf("%s",s[1]);14以下叙述中错误的是:A. 在程序中凡是以"#"开始的语句行都是预处理命令行B. 预处理命令行的最后不能以分号表示结束C. #define MAX是合法的宏定义命令行D. C程序对预处理命令行的处理是在程序执行的过程中进行的15以下结构体类型说明和变量定义中正确的是A. typedef strct{int n; char c;}REC;REC t1,t2;B. typedef strct{int n; char c;};REC t1,t2;C. strct{int n; char c;}REC;REC t1,t2;D. typedef strct REC;{int n=0; char c;}t1,t2;16以下叙述中错误的是:A. gets函数用于从终端读入字符串B. getchar函数用于从磁盘文件读入字符C. fputs函数用于把字符串输出到文件D. fwrite函数用于以二进制形式输出数据到文件17变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。
浙江大学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语言程序设计模拟题
c语言程序设计模拟题c语言程序设计模拟题一、选择题(1)能够将高级语言程序转换成目标语言程序的就是__c____。
a)调试程序b)解释程序c)编译程序d)编辑程序(2)__a____是构成c语言程序的基本单位。
a)函数b)过程c)子程序d)子例程(3)可以在c语言中用作用户标识符的就是__b___。
a)voidb)as_b3c)ford)2cdefine_123-abcdowordifcassig(4)若有以下类型说明语句:charw;intx;floaty,z;则表达式w*x+z-y的结果为__d___类型。
a)floatb)charc)intd)double(5)main(){floatx=123.456;printf(\}以上程序输出的结果是___d___。
a)123.4b)123.5c)123.45d)123.46(6)下面语句的输入结果就是___c___。
printf(\a)14b)8c)5d)输入项不合法,并无正常输入(7)以下程序的输入结果就是__b____。
main(){inta=0,b=0,c=0;if(++a>0|++b>0)++c;printf(\}a)a=0,b=0,c=0b)a=1,b=1,c=1c)a=1,b=0,c=1d)a=0,b=1,c=1(8)以下程序的输入结果就是__b____。
main(){inti;for(i=1;i+1;i++){if(i>4){printf(\}printf(\}a)55b)56c)程序错误,没有输出d)循环条件永远为真,死循环(9)下列程序的输出结果是___a___。
#definea100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++iprintf(\}a)2500b)2050c)4d)0(10)下列程序的输出结果是__d____。
main(){inti=3;switch(i){case1:case2:printf(\case3:case4:break;default:printf(\}}a)0b)3c)okd)没任何输入(11)以下程序执行后的输入结果就是__c____。
C语言基础知识部分模拟试题
C语言基础知识部分模拟试题[1] 下面叙述中正确的是__B__。
A.调用函数时的实参只能是有确定值的变量B.return( )语句中的括号中,可以是变量,常量或有确定值的表达式C.C语言中,函数调用时实参变量和形参变量间的参数传递方式都不是值传递D.实参和形参若类型不匹配,编译时将报错[2]下面叙述中错误的是__A__A.主函数中定义的变量在整个程序中都是有效的B.在其它函数中定义的变量在主函数中也不能使用C.形式参数也是局部变量D.复合语句中定义的函数只在该复合语句中有效[3]下列说法中正确的是__A__。
A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[4] 完成将文件指针fp重新指向文件的开头位置的函数是__D__。
A.feof(fp)B.ferror(fp)C.fseek(fp)D.rewind(fp)[5] 下面说法中错误的是_D___。
A.以二进制形式输出文件,则文件的内容与内存中完全一致B.定义:int a=123;若以ASCII文件的形式存放,变量a将在磁盘上占三个字节C.C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的D.C语言的文件中,数据以记录为界线,便于区分[6]. C语言中,switch后的括号内表达式的值可以是__D__。
A.只能为整型B.只能为整型,字符型,枚举型C.只能为整型和字符型D.任何类型[7.] 若函数的形参为一维数组,则下列说法中正确的是_B___。
A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[8]. 系统的标准输出文件是_D___。
A.键盘B.硬盘C.内存D.显示器[9]. C语言的switch语句中case后__B__。
C语言考试模拟试题
1 y 0 1 1. 编程,从键盘输入 x 的值,输出
x0 x0 x0
Hale Waihona Puke 的值,要求用 if 语句实现。 2. 编程,求 1!+2!+3!+...+n!的值。 3. 编程,从键盘任意输入 10 个数,用起泡法对这 10 个数排序。
9. 14.要求字符数组 a 中字符串的长度可用
10. 关系表达式 0<y<1,用 C 语言的表达式为 (y>0&&y<1) 11. 若有如下定义,int a[10];则 a 数组元素的下标上限是 9 12. 若已知 a=10,b=20,则表达式!a<b 的值为__1___ 13. 设 int a=5,b=6,表达式(++a==b--)?++a:--b 的值是_7____
一、选择题 1. 关于 C 语言的主函数描述正确的是 A)C 程序可以有多个 main 函数 能有一个 main 函数 C)C 程序可以没有 main 函数 main 函数开始执行
B)C 程序必有一个而且只 D)C 程序的执行不一定在
2. C 语言中用于结构化程序设计的 3 种基本结构是 A) 顺序结构、 选择结构、 循环结构 C)for,while,do-while 3. C 语言中最简单的数据类型包括 A)整型、实型、逻辑型 C)整型、字符型、逻辑型 B)整型、实型、字符型 D)字符型、实型、逻辑型 B) if,switch,break D)if,for,continue
14.
表达式 3.6-5/2+1.2+5%2 的值是__3.8___。
15. 以下程序输出的结果是__1___。 main() { int a=5,b=4; d=(a>b>c); printf("%d\n",d); } 16. 若 a=1,b=2,则表达式 a>b?a:b+1 的值为 3 17. 已知字母 A 在 ASCII 代码中的序号为 65,下列程序的输出结果 是 main ( {char 。 ) cl=’A’c2=’Y’ ;
C语言试卷11
C语言模拟考试学号:11 姓名:王梦奎得分:0 ..................................................................单项选择在C语言中,要求运算数必须是整型的运算符是()。
A.++B.%C.!=D./【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]定义结构体的关键字是( )。
A.structB.typedefC.enumD.union【评分报告得分:0.0 之 1.0 】【参考答案】错误A【学生答案】[未答此题]全局变量的定义不可能在()。
A.最后一行B.文件外面C.函数外面D.函数内部【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】A以下正确的函数定义形式是()。
A.double fun(int x,int y);B.double fun(int x,y);C.double fun(int x;int y)D.double fun(int x,int y)【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]下面叙述中错误的是( )。
A.在其它函数中定义的变量在主函数中也不能使用B.主函数中定义的变量在整个程序中都是有效的C.复合语句中定义的变量只在该复合语句中有效D.形式参数也是局部变量【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]下列( )表达式的值为真,其中a=5;b=8;c=10;d=0A.(a*2-c)||dB.a*2>8+2C.a-b<c*dD.a&&d【评分报告得分:0.0 之 1.0 】【参考答案】错误C【学生答案】[未答此题]以下叙述不正确的是()。
A.一个C源程序必须包含一个main函数B.一个C源程序可由一个或多个函数组成C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]以下能正确定义数组并正确赋初值的语句是()。
C语言练习题11
(C) 函数的定义不可以嵌套,但函数的调用可以嵌套
(D) 函数的定义和调用均不可以嵌套
21.阅读以下程序,其运行后输出的结果是( )。
#include <stdio.h>
int func(int a,int b)
{return(a+b);}
main( )
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
void fun(int *x, int *y)
{printf("%d %d", *x, *y); *x=3; *y=4;}
main()
{int x=1,y=2;
5
fun(&y,&x);
printf("%d %d",x, y); }
(A) 2 1 4 3
(B) 1 2 1 2
(C) 1 2 3 4
34.实现两个字符串连接的函数 /* 将str2添加到str1后面,并返回str1。*/ char *strcat(char *str1,char *str2) { int len = strlen(str1); /* 求出str1的长度 */ int ia=0; while (str2[ia]) /* 逐个将str2的字符 存放到str1的相应位 置中*/ /* 为str1 添加字符串结束标志 */ return str1; }
(A) 无限循环
(B) 循环次数不定
(C) 执行4次
(D) 执行3次
16.以下关于C语言的结论中,只有一个是错误的,它是( )。
(A)do…while语句与while语句的区别仅是关键字“while”出现
的 位置不同
C语言笔试练习题-xs-11
第一章 C语言程序概述一、选择题。
1、C语言程序的基本单位是()A)函数 B)过程 C)子程序 D)子例程2、以下选项中正确的整型常量是()A)34.1 B) -80 C) 2,000 D)1 2 33、在C程序中,可以作为用户标识符的一组标识符是()A)void define WORD B) as_b3 _224 ElseC) Switch -wer case D) 4b DO SIG4、在TURBO C中,int类型变量所占的字节数是()A)1 B)2 C)3 D)45、以下选项中不正确的实型常量是()A)123E+1.5 B) 1e4 C)3.640E-1 D)0.356、以下选项中合法的C语言赋值语句是()A)a=b=34 B) a=34,b=34 C) --i; D) m=(int)(x+y);7、以下()是不正确的转义字符。
A)'\\' B) '\'' C) '020' D) '\0'8、以下所列的C语言常量中,错误的是 ( )A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’二、填空题。
1、用字符串的形式表示China____________。
2、C程序执行过程生成的3种文件及扩展名为_______,________,________。
3、C语言中的标识符只能由3种字符组成,他们是_______,_______和________。
第二章 C语言基本数据类型与表达式一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)! D)*2、若已定义x和y为 double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.5-3、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为()(x+y)%2+(int)a/(int)bA)1.0 B)1 C) 2.0 D)25、若x和 n均是 int型变量,且 x的初值为12,n的初值为5 ,则执行下面表达式后x 的值为()x%=(n%=2)A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>main( ) main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>main( ) main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法 B)输出值为-2 C)输出为不确定值 D)输出值为2-9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);-10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A)3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):(b));}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知 int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-2-17、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是 ( )A) %= B) / C) = D)〈=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、有以下程序main( ){ int m=0256,n=256;printf("%o %o\n",m,n);}程序运行后的输出结果是 ( )A)0256 0400 B)0256 256 C)256 400 D)400 400二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是______,变量i的值是_______。
C语言程序设计模拟试卷
《C 语言程序设计》试卷语言程序设计》试卷一、选择题(60分,每题2分)分)(1)下列叙述中错误的是()。
)下列叙述中错误的是()。
A )计算机不能直接执行用C 语言编写的源程序写的源程序B )C 程序经C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件的文件是一个二进制文件C )后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件的文件是一个二进制文件D )后缀为.obj 和.exe 的二进制文件都可以直接运行可以直接运行(2)按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。
则,不能出现在标识符中的是()。
A )大写字母)大写字母B )连接符)连接符C )数字字符字字符D )下划线)下划线(3)以下叙述中错误的是()。
)以下叙述中错误的是()。
A )C 语言是一种结构化程序设计语言语言是一种结构化程序设计语言B )结构化程序有顺序、分支、循环三种基本结构组成种基本结构组成C )使用三种基本结构构成的程序只能解决简单问题解决简单问题D )结构化程序设计提倡模块化的设计方法(4)对于一个正常运行的C 程序,以下叙述中正确的是()。
述中正确的是()。
A )程序的执行总是从main 函数开始,在main 函数结束函数结束B )程序的执行总是从程序的第一个函数开始,在main 函数结束函数结束C )程序的执行总是从main 函数开始,在程序的最后一个函数中结束在程序的最后一个函数中结束D )程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束数开始,在程序的最后一个函数中结束 (5)若有代数式n x x e + ,(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是语言表达式是( )( )( )。
A) sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))(6) 设有定义:int k=0; ,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
C语言专升本考试(习题卷11)
C语言专升本考试(习题卷11)第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]以下结构体类型说明和变量定义中正确的是______。
A)typedef struct{int n; char c;} REC;REC t1,t2;B)struct REC;{int n; char c;};REC t1,t2;C)typedef struct REC;{int n=0; char c= 'A';}t1,t2;D)struct{int n; char c;} REC;REC t1,t2;答案:A解析:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T2.[单选题]程序中若有如下说明和定义语句Char fun(char *);Main(){Char *s="one",a[5]={0},(*f1)()=fun,ch;}以下选项中对函数fun的正确调用语句是______。
A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s);答案:A解析:知识点/选择题/C8指针/指向函数的指针T3.[单选题]下面描述中,不正确的是_______。
A)C程序的函数体由一系列语句和注释组成B)注释内容不能单独写在一行上C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明D)scanf和printf是标准库函数而不是输入和输出语句答案:B解析:4.[单选题]下列语句中,能正确输出26个英文字子母的A)for(a=’a’; a<=’z’ print("%c”,++a);B)for(a=’a’; a<=’z’;) print("%c”,a);C)for(a=’a’; a<=’z’printf(%c”,a++);D)for(a=’a’; a<=’z” ; printf("%c”,a));答案:C解析:5.[单选题]函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为( )。
C语言模拟试题(完整版)
=========或=========
*(i+p)
=======(答案4)=======
*p==0
=========或=========
0==*p
第2题 (15.0分)
/*-------------------------------------------------------
第2题 (15.0分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:以下程序能求出满足条件:1*1+2*2+......+n*n<=1000中的
【程序填空】
---------------------------------------------------------
功能:输入某年某月某日,判断这一天是这一年的第几天?
-------------------------------------------------------*/
if(【?】!=0) k++;
if(k==3)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n) i=0;
}
/***********SPACE***********/
while(【?】) p++;
最大的n。
C语言模拟试题
《C语言程序设计》模拟卷一、选择题1.以下说法中正确的是(C )。
A.C语言程序总是从第一个函数开始执行B.C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分2.下列为字符常量的是(C)。
A.“a”B. ...ab‟C....\n‟D. (084)3.在C语言中,下面字符串能用作变量名的是( D )。
A. a+bB. autoC. 2-andD. a2 4.在C语言中运算对象必须是整型的运算符是(A )。
A. %B. /C. = =D. <=5.若有以下定义:int x=10,y=3,z; 则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为( D )。
A. 1B. 0C. 2D. 36.表达式( A )的值是整数类型。
A.15/2B. 15/2+2.0C.25/5.0D.0.5*107.若double x=2,y;则执行y=x+3/2;后,y的值是( B )。
A. 3.500000B. 3.000000C. 2.000000D. 38.C语言程序的基本单位是(C )。
A.程序行B.语句C.函数D.字符9.设int类型的数据长度为2字节,则int类型数据的取值范围是(B )。
A. 0~255B. -32768~32767C. -256~255D. 0~6553510.语句int (*p)( )的含义是( C )。
A. p是一个指向一维数组的指针变量B.p是指针变量,它指向一个整型数据的指针C.p是一个指向函数的指针,该函数的返回值为整型D. 以上答案都不对11.下面程序的输出结果是(A )。
main(){ int x =10,y =10;printf(“%d,%d\n”,x--,y--);}A. 10,10B. 9,9C. 9,10D. 10,9 12.( A)是C语言的标准函数名。
C语言模拟题十套附答案
第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. ‘a12’D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. ‘//”C. ‘W’D. “\32a”17、以下(A)是不正确的字符串常量A. ‘abc’B. “12’12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ‘A’与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. ‘A’*’B’是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. B.C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=’A’;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
国家二级C语言机试(选择题)模拟试卷11(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷11(题后含答案及解析) 题型有:1. 选择题选择题1.下面描述中不属于数据库系统特点的是()。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高正确答案:C解析:数据库系统的特点是数据的集成性;数据的高共享性和低冗余性;数据独立性;数据统一管理与控制。
所以答案选择C。
知识模块:数据库设计基础2.数据库设计过程不包括()。
A.概念设计B.逻辑设计C.物理设计D.算法设计正确答案:D解析:数据库设计过程包括需求分析、概念设计、逻辑设计和物理设计,所以答案选D。
知识模块:数据库设计基础3.在关系模型中,每一个二维表称为一个()。
A.关系B.属性C.元组D.主码(键)正确答案:A解析:关系模型采用二维表来表示,一个二维表表示一个关系。
知识模块:数据库设计基础4.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是()。
A.一对一B.一对多C.多对一D.多对多正确答案:B解析:实体A和B是一对多的联系,实体A中的一个实体对应B中的多个实体,而实体B和C是一对一的联系,实体B中的一个实体对应C中的一个实体,所以实体A中的一个实体对应C中的多个实体,反过来,实体C中的一个实体对应A中的一个实体,所以实体A和C是一对多的联系。
知识模块:数据库设计基础5.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。
A.记录B.行C.属性D.元组正确答案:C解析:进行自然连接时要求两个关系具有相同列,即属性。
知识模块:数据库设计基础6.有表示公司和职员及工作的三张表,职员可在多家公司兼职。
其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为()。
A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资正确答案:A解析:公司号是公司C表的主键,职员号是职员S表的主键,所以工作W 表的关键字就应该是与前两个表能够直接联系且能唯一定义的公司号和职员号,所以选择A)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1.关于C语言的主函数描述正确的是
A)C程序可以有多个main函数B)C程序必有一个而且只能有一个main函数C)C程序可以没有main函数D)C程序的执行不一定在main函数开始执行2.C语言中用于结构化程序设计的3种基本结构是
A)顺序结构、选择结构、循环结构 B)if,switch,break
C)for,while,do-while D)if,for,continue
3.C语言中最简单的数据类型包括
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、字符型、逻辑型 D)字符型、实型、逻辑型
4.下列定义变量的语句中错误的是______。
A、int _int
B、double int_
C、char For
D、float US$
5.下列数据中,不合法的C语言实型数据的是
A)0.123 B)123e3 C)2.1e3.5 D)789.0
6.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予
10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是
A)10<回车>22<回车>33<回车> B)10.0,22.0,33.0<回车>
C)10.0<回车>22.033.0<回车> D)10 22<回车>33<回车>
7.设int x=1,y=1;表达式(!x||y--)的值是
A)0 B)1 C)2 D)-1
8.下列运算符中优先级最高的是( B )。
A <
B +
C &&
D !=
9.若有说明int a[3][4];则a数组元素的非法引用是
A)a[0][2*1]B)a[1][3]C)a[4-2][0 ]D)a[0][4]
10.若有说明:int a[3][4]={0};则下面正确的叙述是
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
11.设x均为整型变量,且x=10,则以下语句的输出结果是
printf("%d\n",x++);
A)10 B)9 C)11 D)不确定
12.在C语言中,换行符是
A)\n B)\t C)\f D)\b
13.在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。
在求
逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
A)1 0 B)0 1 C)非0 非0 D)1 1
14.下列表达式中的值为1 (真) 的表达式是()。
A 1<4&&7<4
B 1<4&&4<7
C !(2<=5)
D ! (4<=6)&&(3<=7)
15.若有定义:int a=7;float x=2.5;则表达式x+a%3的值是
A)2.500000 B)2.750000 C)3.500000 D)9.500000
16.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)D)(c>=′a′)&&(c<=′z′)
17.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是
A)2 B)3 C)4 D)无确定值
18.下列合法的C语言赋值语句是(C )。
A a=b=100
B a=100,b=100
C i ++;
D k=int(a+b)
19.C语言中的格式输入用下列哪个函数
A)getchar(); B)putchar()C)printf( )D)scanf( )
20.已知:char a[15],b[15]={"I love china"};则在程序中能将字符串I love china赋给数
组a的正确语句是
A)a="I love china"; B)strcpy(b,a);
C)a=b; D)strcpy(a,b);
二、填空题:
1.编好一个C语言程序到完成计算一般要经过四基本步骤,其中,第一,第四步依次是编
辑与运行,第二、第三步依次是(编译、连接)。
2.C程序的基本组成单位是
3.数学中X属于间(a,b )习惯上写成a<x<b C语言中应写成(x>a &&x<b )。
4.命题"a和b中有一个小于c"用C 语言描述是(a<c||b<c )。
5.已知int a=6; 则执行a=a*a;语句后,a的值为
A)36 B)0 C)-24 D)-60
6.在循环结构中要从循环体内跳出循环体外的语句为break;
7.调用strcmp和strcpy函数时,必须包含的头文件是
8.要将字符串"student"保存在字符数组a中可用 strcpy(a ,"student" ); 语句
9.14.要求字符数组a中字符串的长度可用 strlen(a); 语句
10.关系表达式0<y<1,用C语言的表达式为
11.若有如下定义,int a[10];则a数组元素的下标上限是
12.若已知a=10,b=20,则表达式!a<b的值为_____
13.设int a=5,b=6,表达式(++a==b--)?++a:--b的值是_____
14.表达式3.6-5/2+1.2+5%2的值是_____。
15.以下程序输出的结果是_____。
main()
{ int a=5,b=4;
d=(a>b>c);
printf("%d\n",d);
}
16.若a=1,b=2,则表达式a>b?a:b+1的值为
17.已知字母A在ASCII代码中的序号为65,下列程序的输出结果是。
main ()
{char cl=’A’c2=’Y’;
printf(”%d, %d\n”,c1,c2);}
A:A Y B:65,89 C:65,90 D:输出格式错误信息
18.若有定义int a[3][4]={{1,2},{0},{4,6,8,10}},则a[1][2]=
19.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是
20.定义一个整型数组a[10],则下标最大的数组元素为
三、算法题
1.用传统流程图表示求解问题1+2+3…+100的算法。
2.用N-S流程图表示求解:100~200之间素数的算法。
四、编程题
1.编程,从键盘输入x的值,输出
⎪
⎩
⎪
⎨
⎧
>
=
<
-
=
1
1
x
x
x
y
的值,要求用if语句实
现。
2.编程,求1!+2!+3!+...+n!的值。
3.编程,从键盘任意输入10个数,用起泡法对这10个数排序。