《C程序设计语言》模拟试卷二
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
《C语言程序设计》模拟试卷2

《C 语言程序设计》模拟试卷2考试班级:一、判断题(2’×10=20’)1、C 语言源程序文件的扩展名均为.c 。
( )2、所谓变量,就是在程序运行过程中其值不可以改变的量。
( )3、一个C 语言程序总是从main 函数开始执行。
( )4、C 语言中所有字符串都是以‘\0’结束的。
( )5、在C 语言中do-while 和while 语句均是先判断表达式,再执行循环体语句。
() 6、算术运算符中‘/’的优先级高于‘%’。
( )7、int a[5];该语句表明数组a 中的第五个元素为a[5]。
( ) 8、函数getchar()的作用是:输出一个字符。
( )9、C 语言程序区分大小写。
( )10、C 语言中标识符第一个字符可以由字母,数字和下划线三种字符组成。
()二、单项选择题(2’×15=30’)1、以下说法正确的是( )。
A 、C 语言程序总是从第一个的函数开始执行B 、在C 语言程序中,要调用函数必须在main()函数中定义C 、C 语言程序总是从main()函数开始执行D 、C 语言程序中的main()函数必须放在程序的开始部分2、C 语言中基本数据类型包括( )。
A 、整型、实型、逻辑型B 、整型、实型、字符型C 、整型、字符型、逻辑型D 、字符型、实型、逻辑型3、下列可用于C 语言用户标识符的一组是( )。
A 、1AB 、P_0C 、-abcD 、int4、C 语言的三种基本结构是( )。
A 、顺序结构、逻辑结构、选择结构B 、顺序结构、选择结构、循环结构 系部:班级:学号:姓名:C、逻辑结构、层次结构、网状结构D、层次结构、顺序结构、循环结构5、起换行作用的转义字符是()。
A、’\t’B、’\b’C、’\n’D、’\r’6、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。
A、intB、floatC、double D)不确定7、关于数组元素类型的说法,下列那一项是正确的:()。
计算机等级《二级C语言程序设计》模拟题

计算机等级《二级C语言程序设计》模拟题计算机等级《二级C语言程序设计》模拟题1.【单选题】2分| 有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。
A (!a==1)&&(!b==0)B (aC a&&bD a||(b+b)&&(c-a)2.【单选题】2分| 执行下面的程序后,a的值为()。
main(){inta,b;for(a=1,b=1;a=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A 7B 8C 9D 103.【单选题】2分| 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是()。
A EOFB -lC 非零值D 04.【单选题】2分| 有以下程序:main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);//输出计算机结果}程序运行后的输出结果是()。
A a+b=10B a+b=30C 30D 出错5.【单选题】2分| 以下程序的输出结果是()。
main(){inta=3:printf("%d\n",(a+a-=a*a));}A -6B 12C 0D -126.【单选题】2分| 执行下列程序中的输出语句后,a的值是()。
main(){inta;printf("%d\n",(a=2*3,a*5,a+7));}A 17B 37C 6D 137.【单选题】2分| 下列关于栈的描述中错误的是()。
A 栈是先进先出的线性表B 栈只能顺序存储C 栈具有记忆作用D 对栈的插入删除操作中,不需要改变栈底指针8.【单选题】2分| 函数调用strcat(strcpy(str1,str2),str3)的功能是()。
A 将字符串str1复制到字符串str2中后再连接到字符串str3之后B 将字符串str1连接到字符串str2之后再复制到字符串str3之后C 将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后D 将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中9.【单选题】2分| 对两个数组a和b进行下列初始化:charm[]1="l234567":charn[]={'1','2','3','4','5','6','7');则下列叙述正确的是()。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
专升本C语言程序设计模拟试卷C2带答案

计算机科学与技术专业《基础知识》模拟试卷二(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 请读程序:#include<stdio.h>main(){int a;float b,c;scanf("%2d%3f%4f’,&a,&b,&c);printf("\na=%d,b=%ec。
%f\n",a,b,c);}若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。
A)a=98,b=765,c=432 1 B)a=1 0,b=432,c=8765C)a=98,b=765.000000,c=432 1.000000D)a=98,b=765.0,c=432 1.0答案:C2. 一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构B)选择结构C)循环结构 D)跳转结构3. 请选出以下程序的输出结果________。
#include<stdio.h>sub(x,y,z)int x,y,*z:{*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-74. 下面程序在屏幕上的输出是________。
main(){printf("ab\b\b c");}A)ab\b\b c B)a cC)abc D)ab c5. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。
A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x6. 设整型数i=5,则printf("%d",i+++++i);的输出为________。
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语言器模考试题和答案

二级c语言器模考试题和答案**二级C语言模拟考试题和答案**一、选择题(每题2分,共40分)1. 下列哪个选项是C语言的关键字?A. intB. INTC. IntD. Integer**答案:A**2. C语言中,哪个函数用于输入一个字符?A. putchar()B. getc()C. scanf()D. getchar()**答案:D**3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. "Hello, World!"**答案:A**4. C语言中,以下哪个选项是合法的整型常量?A. 0x1AB. 1.2E3C. 0177D. 0b1010**答案:C**5. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable-name**答案:B**6. C语言中,以下哪个选项是合法的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array;**答案:A**7. C语言中,以下哪个选项是合法的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. void myFunction int x;**答案:C**8. C语言中,以下哪个选项是合法的循环语句?A. do { ... } while (condition);B. while { ... } (condition);C. for { ... } (condition);D. repeat { ... } until (condition);**答案:A**9. C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int ptr*;C. int *ptr[];D. int (*ptr)();**答案:A**10. C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI 3.14159**答案:A**二、填空题(每题2分,共20分)1. C语言中,用于计算两个整数的差的运算符是 ________ 。
C二级复习模拟题3套附答案.docx

二级C语言程序设计模拟试题《1》一、单项选择题。
(每小题1分,共20分)仁设有整型变量a,单精度型变量f,双精度型变量x,则表达式a+,b,+x*f值的类型为(C)oA)int B) float C) doub I e D)不能确定2、下列语句的输出为(A )i rrt x=-1;pr i ntf ( "%d, %u, %o” , x, x, x);A) -1 , 65535 , 177777 B) -1,-1, -1C) -1 , 32767 , -177777 D) -1 , 32768 , 1777773、若N为整型变量,则for(N=10;N=0;N~);循环里的循环体被(D )oA) 无限循环B) 执行10次C) 执行一次D) 一次也不执行4、若有以下的定义.说明和语句,则值为101的表达式是(C )ostruct cw{ i nt a;int *b;}*p;int x0[] = {11,12},x1 [] = {31,32J;stat i c struct cw x[2] = {100, xO, 300, x1};P=x;A) *p->b B) p->a C) ++ (p->a) D) (p++) ">a5、已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer代表的是(CA)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项6、有如下程序void main(){ int x=23;do{ printf ( “%d” , x—);} wh i I e (! x);A) 321 B) 23 C) 不输出任何内容D) 陷入死循环7、下面程序运行情况是(D )o#i ncIude <stdio. h> void main() { int x=3, y=0, z=0; if (x=y+z)printf ( “林**” ); else) 输出****0 可以通过编译,但不能通过连接,因而不能运行D) 输出####8、要将一个整数12000分别一 ASCII 码文件和二进制文件 形式存放,各自所占的存储空间数分别是《 A 》字 节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.该结构体变量中所有成员所需存储空间的总和
26.以下关于typedef的叙述不正确的是_____ ____。
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新类型
C.用typedef只是将已存在的类型用一个新的名字来代表
C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
18.以下合法的数组定义是____ _______。
A.int a[] = "string";
B.int a[5] = {0, 1, 2, 3, 4, 5};
C.char a = "string";
24.在C语言程序中,下列叙述正确的是___ ______。
A.实参可以是常量、变量或表达式
B.实参可以是任意类型
C.形参可以是常量、实参或表达式
D.形参与队友的实参类型要求可以不一致
25.在定义一个结构体变量时系统分配给它的存储空间是___ _。
A.该结构体变量中第一个成员所需存储空间
B.该结构体变量中最后一个成员所需存储空间
D.使用typedef便于程序的调用
27.在声明一个结构体类型时系统分配给它的存储空间是___ _____。
A.该结构体变量中第一个成员所需存储空间
B.该结构体变量中最后一个成员所需存储空间
C.该结构体变量中所有成员所需存储空间的总和
D.结构体类型本身并不占用存储空间,即系统并不给结构体类型分配存储空间
D.char a[] = {0, 1, 2, 3, 4, 5};
19.在C语言程序中,下列叙述正确的是___ ________。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和调用都可以嵌套
D.函数的定义和调用均不可以嵌套
20.在C语言程序中,简单变量做实参时,它和对应形参之间的数据传递方式是__________。
C.scanf("%f%3o", &a, &b);
D.scanf("%f%f", &a, &b);
10.if后面的表达式之值__________。
A.只能是0或1
B.只能是正整数或负整数
C.只能是整数或字符型数据
D.可以是任何类型的数据
11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其直接最近的未配对的if
D.同一行上的if
12.选择出合法的if语句(设int x, a, b, c;)____ _____。
A.if(a = b0 x++;
B.if (a =< b) x++;
C.if(a <> b) x++;
D.if (a=>b) x++;
13.语句while(!e);中的条件!e等价于____ _______。
A.e == 0
B.e!=1
C.e!=0
D.~e
14.C语言中while和do-while循环的主要区别是____ _______。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
main() {
int a = 3, b = 5;
if (a > b)
printf("a大于b\n")
else
printf("a不大于b\n");
}
3.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {
int n = 1, sum = 0;
while (n < 5) {
sum = sum + n;
printf("%d\n", s);
}
四、程序设计题
1.编写一个交换两个int型数据的函数swap,在main函数中从标准输入读取两个整数到两个整型变量中,输出调用swap函数之前和之后的结果。
2.定义一个结构体类型Rect用于表示矩形,该类型有两个double类型的成员width和height,定义一个计算矩形的面积的自定义函数Area,参数为结构体类型Rect,在main函数中定义并初始化一个结构体变量r,然后调用Area函数,并输出计算结果
A.int *p = a;
B.int *p = *a;
C.int p = &a;
D.int *p = &a;
23.C语言中规定函数的返回值的类型是由___ ______。
A.return语句中的表达式类型所决定
B.调用该函数是的主调用函数所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型所决定
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
15.以下程序段______ _____。
int x = -1;
do { x = x * x} while (x != 0);
A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误
16.以下关于数组的描述正确的是__________。
B.int A[3, 4];
C.int a[][3];
D.int a[10];
30.在定义inta[3][6];后,第10个元素是___。
A.a[2][4]
B.a[1][3]
C.a[3][空题
1.任何C语句必须以____________结束。
2.C编译程序的功能是____________。
28.fopen()函数的打开文件模式"r"和"w"的差别是___ _____。
A."r"可向文件写,"w"不可向文件写
B."r"不可向文件写,"w"可向文件写
C."r"不可由文件读, "w"可由文件读
D.文件不存在时,"r"建立新文件,"w"出错
29.以下正确的定义语句是_______。
A.int A['a'];
8.程序的三种基本控制结构分别是____________、____________和____________。
9.____________语句强行结束循环,转向循环语句下面的语句。____________语句结束本次循环体的执行。
10.常用的一维数组排序方法有冒泡排序、直接插入排序和____________。
A.地址传递
B.单向值传递
C.由用户指定参数传递方式
D.由实参传给形参,再由形参传递给实参
21.在一个源文件中定义的外部变量的作用域为___ ______。
A.本文件的全部范围
B.本程序的全部范围
C.本函数的全部范围
D.从定义该变量的位置开始至文件结束
22.已知变量a已定义为int型变量,以下定义并初始化指针变量p的语句中正确的是___ _____。
14.C语言使用关键字____________定义结构体类型。
15.计算字符串长度的库函数是____________。
三、程序分析题
1.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {
int n = 10;
n++;
n += 5;
printf("%d\n", n);
}
2.写出以下程序的运行结果(假定程序已包含正确的头文件)。
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。
A.read(a, b, c);
B.scanf("%d%d%d", a, b, c);
A.+a
B.*p
C._DAY
D.next day
6.设c是字符变量,则以下表达式正确的是___ _______。
A.c=666
B.c='c'
C.c="c"
D.c="abcd"
7.以下说法正确的是_____ _______。
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
3.一个C程序是由____ ________。
A.一个主程序和若干个子程序构成
B.一个或多个函数构成
C.若干过程组成
D.若干子程序组成
4.以下字符串为标识符的是___ _________。
A._MY
B.2_2222
C.short
D.LINE 5
5.下列符号可以作为变量名的是___ ________。
main() {
int a = 3; *pa = &a;
*pa = 10;
printf("%d\n", a);
}
6.写出以下程序的运行结果(假定程序已包含正确的头文件)。