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语言期中模拟试题3

一、1.下面四个选项中,均是不合法的用户标识符的选项是(D)。
A、float la0 _AB、A P_0 doC、_123 temp intD、b-a goto int2.表达式18/4*sqrt(4.0)/8值的数据类型为(A)。
A、doubleB、floatC、intD、不确定3.设:long w=65535,t=7654321;根据下面的输出结果,正确的程序段是(C ).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf( "end");4.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值(A)。
A、0B、-1C、非零的数D、15.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值(A)。
A、0B、-1C、非零的数D、16.在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是(B)。
A、(E>0||E<0)B、(E==0)C、(!E==0)D、(E!=0)7.下面有关 for 循环的正确描述是(C)。
A、for 循环是先执行循环体语句,后判断表达式B、在 for 循环中,不能用 break 语句跳出循环体C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来D、for 循环只能用于循环次数已经确定的情况8.在C语言中,一维数组的定义方式为:类型说明符数组名(B)。
13真题与答案 202403青少年软件编程(C语言)等级考试试卷(三级)

202403青少年软件编程(C语言)等级考试试卷(三级)分数:100分题数:51. 我家的门牌号我家住在一条短胡同里,这条胡同的门牌号从 1 开始顺序编号。
若所有的门牌号之和减去我家门牌号的两倍,恰好等于 n,求我家的门牌号及总共有多少家。
数据保证有唯一解。
时间限制:1000内存限制:65536输入一个正整数 n。
n < 100000。
输出一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入100样例输出10 15参考代码:#include <stdio.h>int main() {int n;scanf("%d", &n);int x, y;for (x = 1; x < n; x++) {for (y = x + 1; y < n; y++) {int sum = y * (y + 1) / 2 - x * 2;if (sum == n) {printf("%d %d\n", x, y);return 0;}}}return 0;}2. 最接近的分数分母不超过 N 且小于 A/B 的最大最简分数是多少?时间限制:10000内存限制:65536输入三个正整数 N,A,B,相邻两个数之间用单个空格隔开。
1 <= A < B <N <= 1000。
输出两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。
样例输入100 7 13样例输出50 93参考代码:#include <stdio.h>int gcd(int a, int b) {return b == 0? a : gcd(b, a % b);}int main() {int N, A, B;scanf("%d %d %d", &N, &A, &B);int numerator = 0, denominator = 1;for (int i = 2; i <= N; i++) {for (int j = 1; j < i; j++) {if ((double)j / i < (double)A / B && ((double)numerator / denominator < (double)j / i || (double)A / B - (double)j / i < (double)A / B - (double)numerator / denominator)) {numerator = j;denominator = i;}}}printf("%d %d\n", numerator, denominator);return 0;}3.菲波那契数列菲波那契数列是指这样的数列: 数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。
c语言模拟考试试题及答案

c语言模拟考试试题及答案C语言模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable#name答案:B2. 下列哪个选项是C语言中的关键字?A. charB. variableC. ifD. string答案:C3. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A5. 下列哪个选项是C语言中的控制结构?A. switch-caseB. if-elseC. for-loopD. All of the above答案:D6. 在C语言中,哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. None of the above答案:D(注:C语言标准库中没有sum()函数)7. 以下哪个选项是C语言中数组的正确声明方式?A. int array[10] = {1, 2, 3};B. int [10] array = {1, 2, 3};C. Both A and BD. None of the above答案:C8. 在C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A9. 下列哪个选项是C语言中正确的函数定义?A. int function(int a, int b) { ... }B. int function(int a; int b) { ... }C. int function(int a, int b) { ... }D. int function(int a, b) { ... }答案:C10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用____关键字可以定义一个函数。
c语言模拟试题3及答案

c语言模拟试题3及答案C语言模拟试题3及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. voidB. NULLC. intD. main2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /3. 在C语言中,以下哪个不是合法的变量名?A. myVariableB. 123VariableC. _myVariableD. variableName4. C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()5. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\World"6. 以下哪个语句在C语言中是正确的?A. if (x = 10)B. if (x == 10)C. if (x = 10) { x++; }D. if (x = 10) x++;7. C语言中,哪个语句用于输出数据到控制台?A. printf()B. scanf()C. coutD. print()8. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 任意数字9. 下列哪个是C语言中的控制结构?A. 循环B. 函数C. 数组D. 指针10. 在C语言中,以下哪个是正确的二维数组声明?A. int array[3][5];B. int array = 3[5];C. int array = 3 * 5;D. int array(3, 5);答案:1. A, C2. A3. B4. A5. A, C6. B7. A8. A9. A10. A二、填空题(每空2分,共20分)1. 在C语言中,______关键字用于声明一个函数。
c语言模拟试题3及答案

c语言模拟试题3及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的标准输入输出库函数?A. math.hB. stdio.hC. string.hD. time.h答案:B2. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 在C语言中,用于声明一个指针变量的语法是:A. int *p;B. int p*;C. int *p=0;D. int p=0;答案:A4. 下列哪个选项不是C语言中的循环控制语句?A. forB. whileC. do-whileD. if答案:D5. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. %答案:A6. C语言中,用于定义一个函数的关键字是:A. structB. voidC. intD. function答案:C7. 下列哪个选项是正确的C语言数组定义?A. int a[5] = {0, 1, 2, 3, 4};B. int a[5] = {0, 1, 2};C. int a[] = {0, 1, 2, 3, 4};D. int a = {0, 1, 2, 3, 4};答案:A8. 在C语言中,以下哪个符号用于表示逻辑与?A. &&B. ||C. !D. =答案:A9. C语言中,用于声明一个字符数组的关键字是:A. charB. stringC. arrayD. vector答案:A10. 在C语言中,用于声明一个浮点数的关键字是:A. intB. floatC. doubleD. long答案:B二、填空题(每题2分,共20分)1. 在C语言中,____关键字用于定义一个函数。
答案:int2. C语言中,____运算符用于比较两个数是否相等。
答案:==3. 在C语言中,____关键字用于定义一个结构体。
答案:struct4. C语言中,____函数用于将字符串从标准输入读取到字符数组中。
专升本C语言程序设计模拟试卷C3

计算机科学与技术专业《基础知识》模拟试卷三(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lower C.day_3D.abSum_days abcde student_name_oflotus_1_2_3 defaultM.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void 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++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分5. 下面程序的输出是【】。
main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);……}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。
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语言模拟题二C语言模拟题二一、单项选择题1.程序中定义以下宏#define S(a,b)a*b若定义int area;且令area=S(3+1,3+4),则变量area的值为_________A 10B 12C 21D 282.正确的标识符是_________A ifB a=2C a.3D a_33.表达式1&3&5&7的值为_________A 1B 3C 5D 74.语句printf(″s\\t″)的输出结果为_________A s\\tB s\tC s\D s5. 执行下列语句后,sum变量的值是_________int sum=0;for(int i=0;i<10;i++,sum+=i);A 45B 55C 0D 编译错误6.已知有共用体变量data1定义如下:union data{ int i;char ch;float f;} data1;则变量data1所占的内存存储空间可表示为_________A sizeof(int)B sizeof(char)C sizeof(float)Dsizeof(int)+sizeof(char)+sizeof(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示_________A 已读到此文件末尾B 未读到此文件的末尾C 此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是_________A void fun (int x,int y);B fun (int x,int y);C int fun (int x,y);D char *fun (char *s);9.若有语句if(x==0) y=5;则与条件x==0等价的表达式为_________A xB !xC x!=1D 以上都不对10.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为A)ABCdef B)abcDEF C)abc D)DEF#includemain( ){ char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32;else if(ch>='a' && ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}11.下面不能正确进行字符串赋值操作的语句是_______A)char s[5]={"ABCDE"};B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF";D)char *s;scanf("%s",s);12.若x=4,则x*=x+2的值为_________A 36B 24C 18D 2013.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为_________A 1B 2C 4D 514.设a为5,执行下列语句后,b的值不为2的是_________A b=a/2B b=6-(--a)C b=a%2D b=a<32?2:115.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是_________A p2=**p1B p2=*&p1C p2=*p1D p2=&*p116.以下运算符中,运算对象必须是整型的是_________A /B %=C != D〈=17.以下关于typedef的叙述中错误的是_________A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植18.若执行完成下列语句:int a=3,b=6,c;c=a∧b<<2;则变量c的二进制值为_________A 00011100B 00010100C 0001000D 0001101119.以下关于宏替换的叙述不正确的是_________A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间20. 以下对枚举类型名的定义中正确的是_________A enum s={a,b,c}B enum s {a=9,b=2,c}C enum s={′a′,′b′,′c′}D enum s{′a′,′b′,′c′}二、判断题1.若有说明int c;则while (c=getchar());是错误的C语句。
C语言程序设计模拟试题3(附答案)

《C语言程序设计》模拟试卷三一、填空题。
(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。
2.一个C语言文件就是由若干个组成。
3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。
4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。
5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。
p与s就是基类型为int得指针变量。
请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。
(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。
二、单项选择题。
(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。
A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。
A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。
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、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。
A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。
计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
三级c语言机试题及答案

三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
计算机三级C语言模拟试题

计算机三级C语言模拟试题2016计算机三级C语言模拟试题一、选择题1.下列叙述中正确的是( )。
A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表2.下列叙述中正确的是( )。
A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为l的结点数为( )。
A.16B.10C.6D.44.在下列模式中,能够给出数据库物理存储与物理存取方法的是( )。
A.外模式B.内模式C.概念模式D.逻辑模式5.在满足实体完整性约束的条件下( )。
A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字6.有三个关系R、S和T如下:2015年计算机二级《C语言》考试上机测试题(7)则由关系R和S得到关系T的操作是( )。
A.自然连接B.并C.交D.差7.软件生命周期中的活动不包括( )。
A.软件维护B.市场调研C.软件测试D.需求分析8.下面不属于需求分析阶段任务的是( )。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.制定软件集成测试计划D.需求规格说明书评审9.在黑盒测试方法中,设计测试用例的主要根据是( )。
A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10.在软件设计中不使用的工具是( )。
A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11.针对简单程序设计,以下叙述的实施步骤顺序正确的是( )。
A.确定算法和数据结构、编码、调试、整理文档B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档12.关于C语言中数的表示,以下叙述中正确的是( )。
c模拟考试试题及答案

c模拟考试试题及答案C模拟考试试题及答案试题一:C语言基础1. C语言中,一个整型变量int所占的字节数是多少?A. 1字节B. 2字节C. 4字节D. 8字节2. 以下哪个是C语言中的合法标识符?A. 3variableB. variable3C. -variableD. variable#33. 在C语言中,以下哪个语句可以正确地声明并初始化一个整型数组?A. int array[5] = {1, 2, 3, 4, 5};B. int array[5] = {1, 2, 3};C. int array[] = {1, 2, 3, 4, 5};D. int array = {1, 2, 3, 4, 5};4. C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if x == 5D. if (x == 5) else5. 在C语言中,以下哪个函数用于计算两个数的和?A. sum()B. add()C. plus()D. None of the above答案:1. C2. B3. A4. B5. D试题二:C语言控制结构6. C语言中,哪个关键字用于实现循环结构?A. forB. whileC. do-whileD. All of the above7. 以下哪个是C语言中的无限循环?A. for(;;)B. while(1)C. do{}while(0)D. Both A and B8. 在C语言中,break语句的作用是什么?A. 继续下一次循环B. 跳出当前循环C. 退出程序D. 继续执行循环体9. 在C语言中,switch语句最多可以有多少个case?A. 1B. 2C. 10D. 没有限制10. 以下哪个是C语言中的选择结构?A. if-elseB. switch-caseC. A and BD. None of the above答案:6. D7. D8. B9. D10. C试题三:C语言函数11. C语言中,函数的返回类型是什么?A. 必须与函数名相同B. 可以是任意类型C. 必须与函数内部的代码匹配D. 必须声明在函数名之前12. 以下哪个是C语言中正确的函数声明?A. int myFunction();B. void myFunction(int x);C. int myFunction(int x) { ... }D. Both A and B13. 在C语言中,函数的参数可以是以下哪种类型?A. 常量B. 变量C. 表达式D. 所有选项都不正确14. 以下哪个是C语言中正确的函数调用?A. myFunction(5);B. myFunction(x++);C. myFunction("Hello");D. D. None of the above15. C语言中,以下哪个是递归函数的特点?A. 函数内部没有调用自身B. 函数内部调用了其他函数C. 函数内部调用了自身D. 函数没有返回值答案:11. D12. D13. B14. A15. C结束语:本模拟考试试题及答案旨在帮助考生复习C语言的基础知识、控制结构和函数使用。
c语言模拟试题

c语言模拟试题C语言模拟试题一、选择题(每题2分,共20分)1. 以下哪个是C语言的关键字?A. intB. IntegerC. INTD. integer2. C语言中,用于定义一个整型变量的关键字是:A. varB. defineC. letD. int3. 以下哪个不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()4. C语言中,用于实现循环的关键字是:A. loopB. whileC. doD. repeat5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int numbers(10);C. int numbers = 10;D. int numbers = {1, 2, 3};6. 以下哪个是C语言中正确的字符串定义方式?A. string str = "Hello";B. char str[] = "Hello";C. char str = "Hello";D. string str[] = "Hello";7. C语言中,用于定义函数的关键字是:A. functionB. funcC. defD. void8. 以下哪个是C语言中正确的条件语句?A. if (x == y)B. switch (x)C. case x:D. default9. C语言中,用于定义指针的符号是:A. &B. *C. ^D. %10. 在C语言中,以下哪个是正确的结构体声明语句?A. struct Student {int age; char name[50];};B. struct {int age; char name[50]} student;C. type Student {int age; char name[50]};D. Student struct {int age; char name[50]};二、填空题(每空2分,共20分)11. 在C语言中,一个变量的声明必须在____的开始。
全国计算机等级考试2019年二级C语言程序设计模拟试题3_真含答案与解析)-交互50

全国计算机等级考试2019年二级C语言程序设计模拟试题3(总分100, 做题时间120分钟)选择题(每题 1 分,共 40 分)1.下列叙述中正确的是()。
SSS_SINGLE_SELA栈与队列都只能顺序存储B循环队列是队列的顺序存储结构C循环链表是循环队列的链式存储结构D栈是顺序存储结构而队列是链式存储结构分值: 1答案:B栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构。
2.算法空间复杂度的度量方法是()。
SSS_SINGLE_SELA算法程序的长度B算法所处理的数据量C执行算法所需要的工作单元D执行算法所需要的存储空间分值: 1答案:D算法的空间复杂度是指执行这个算法所需要的存储空间,包括:①输入数据所占的存储空间;②程序本身所占的存储空间;③算法执行过程中所需要的额外空间。
3.设有栈 S 和队列 Q,初始状态均为空。
首先依次将 A, B, C, D, E, F 入栈,然后从栈中退出三个元素依次入队,再将 X, Y, Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
SSS_SINGLE_SELADEFXYZABCBFEDZYXCBACFEDXYZCBADDEFZYXABC分值: 1答案:B栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将 A, B,C, D, E, F 入栈后,栈中元素为 ABCDEF,退出三个元素入队,队列元素为 FED,将 X, Y, Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为 FEDZYXCBA。
4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为()。
C语言程序设计模拟试题三(含答案)

C语言程序设计模拟试题三(含答案)1、计算机的存储器完整的应包括A) 软盘、硬盘B) 磁盘、磁带、光盘C) 内存储器、外存储器D) RAM、ROM2、计算机中运算器的作用是A) 控制数据的输入/输出B) 控制主存与辅存间的数据交换C) 完成各种算术运算和逻辑运算D) 协调和指挥整个计算机系统的操作3、软磁盘处于写保护状态时,其中记录的信息A) 绝对不会丢失B) 不能被擦除,但能追加新信息C) 不能通过写磁盘操作被更新D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除4、光盘根据基制造材料和记录信息的方式不同,一般可分为A) CD、VCDB) CD、VCD、DVD、MP3C) 只读光盘、可一次性写入光盘、可擦写光盘D) 数据盘、音频信息盘、视频信息盘5、在计算机系统中,可执行程序是A) 源代码B) 汇编语言代码C) 机器语言代码D) ASCII码6、计算机软件系统包括A) 操作系统、网络软件B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件D) 操作系统、应用软件和网络软件7、目前,一台计算机要连入Internet,必须安装的硬件是A) 调制解调器或网卡B) 网络操作系统C) 网络查询工具D) WWW浏览器8、在多媒体计算机系统中,不能存储多媒体信息的是A) 光盘B) 磁盘C) 磁带D) 光缆9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE a*.*B) TYPE abc.exeC) TYPE pro.c>PRND) TYPE abc.txt10、下列更改文件名的命令中正确的是A) REN A:file1 C:F1B) RENAME A: A:file1 C:F1C) REN A:file1 F1D) REN A:file1 \\SUB\\F111、已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMD USERCD USER由A盘启动DOS系统后,A盘的当前目录是A) \\DOS B) \\DOS\\USER12、MS-DOS是A) 分时操作系统B) 分布式操作系统C) 单用户、单任务操作系统D) 单用户、多任务操作系统13、在Windows操作系统中,不同文档之间互相复制信息需要借助于A) 剪切板B) 记事本C) 写字板D) 磁盘缓冲器14、在Windows操作系统中A) 同一时刻可以有多个活动窗口B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口C) 同一时刻只能有一个打开的窗口D) DOS应用程序窗口与Windows应用程序窗口不能同时打开着15、下列叙述中正确的是A) 所有DOS应用程序都可以在Windows操作系统中正确运行B) 所有DOS应用程序都不能在Windows操作系统中正确运行C) 大部分DOS应用程序可以在Windows操作系统中正确运行D) 为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行16、下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数17、以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.518、下列选项中,合法的C语言关键字是A) VAR B) cherC) integer D) default19、以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z) 的C语言表达式是A) x/y*z B) x*(1/(y*z))C) x/y*1/z D) x/y/z20、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A) -3 B) 9C) -12 D) 621、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4C) 3 D) 122、若变量已正确说明为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.0 33.0<回车>D) 10 22<回车>33<回车>23、若执行以下程序时从键盘上输入9,则输出结果是Main0{ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10C) 9 D) 824、若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b);{ case 1:y=a+b; break;case 0:y=a-b; break;}B) switch(a*a+b*b){case 3:case 1:y=a+b;break;case 3:y=b-a,break;}C) switch a{ case c1 :y=a-b; breakcase c2: x=a*d; breakdefault:x=a+b;}D) switch(a-b){default:y=a*b;breakcase 3:case 4:x=a+b;break;case 10:case 11:y=a-b;break;}25、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次26、以下程序执行后sum的值是min(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum);}A) 15 B) 14C) 不确定D) 027、有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1 B) 3 0C) 1 -2 D) 死循环28、若变量c为char类型,能正确判断出c为小写字母的表达式是A) 'a'<=c<= 'z'B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c)D) (c>= 'a')&&(c<= 'z')29、以下所列的各函数首部中,正确的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)30、以下程序的输出结果是fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf("%d",a);}A) 0 B) 29C) 31 D) 无定值31、下列程序段的输出结果是void fun(int *x, int *y){printf("%d %d", *x, *y); *x=3; *y=4;}{ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2C) 1 2 3 4 D) 2 1 1 232、下列程序的输出结果是main(){char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p);}A) 非法B) a[4]的地址C) 5 D) 333、下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3 B) 3 6C) 编译出错D) 0 034、下面程序的输出结果是{int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}A) 0 B) 1C) 10 D) 935、当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值36、设有以下说明语句struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是A) struct结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型37、以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和staticB) auto和registerC) register和staticD) extern和register38、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOF B) -1C) 非零值D) NULL39、以下程序的输出结果是main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}A) 20 B) 21C) 22 D) 2340、以下程序的输出结果是main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}A) 1,5,9 B) 1,4,7C) 3,5,7 D) 3,6,941、以下程序的输出结果是main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}A) 18 B) 19 C) 20 D) 2142、以下程序的输出结果是main(){ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",w[k]);}A) ABCDFGHKLB) ABCDEFGIJMC) EFGJKOD) EFGHIJKL43、当执行下面的程序时,如果输入ABC,则输出结果是#include "stdio.h"#include "string.h"main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789");printf("%s\n",ss);}A) ABC6789 B) ABC67C)12345ABC6 D) ABC45678944、假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}A) ABCDEFG B) IJHLC) ABCDEFGHIJKL D) IJKLABCDEFGH45、以下程序的输出结果是long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }A) 1 B) 2C) 3 D) 446、以下程序的输出结果是#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}A) 16 B) 2C) 9 D) 147、若定义了以下函数:void f(……){……*p=(double *)malloc( 10*sizeof( double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A) double *p B) float **pC) double **p D) float *p48、以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A) 10 B) 11C) 51 D) 6049、假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A) free(q); p->next=q->next;B) (*p).next=(*q).next; free(q);C) q=(*q).next; (*p).next=q; free(q);D) q=q->next; p->next=q; p=p->next; free(p);50、以下程序的输出结果是main(){ int x=0.5;char z='a';printf("%d\n", (x&1)&&(z<'z') ); }A) 0 B) 1C) 2 D) 3答案:CCCCC BADDCCCABC DBDACCBBDA CCDCCACBCB BBCBCADADA BCCBB。
C语言模拟题目及答案

C语言模拟题目及答案一.选择题:1.设float x,y;则以下不合法的赋值语句是______。
x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。
15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。
for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。
char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc";5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。
是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。
3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。
3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。
算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。
n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。
专升本-计算机应用基础模拟C语言试题-03

一、单项选择题(共25小题,每题2分,共50分)以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。
1.一个C程序的执行是从A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2.在C语言中,变量a、b均为整型,则表达式(a=2,b=5,b--,a+b)的值是A. 7B. 8C. 6D. 23.下列字符序列中,合法的字符串常量是A. PiB. "Pi"C. 'Pi'D. '\n'4.已知ch是char型变量,下列不正确...的赋值语句是A. ch=10+28;B. ch='\0';C. ch='7'+'9';D. ch='b-a';5.设有变量定义int i,j=7,*p=&i;与表达式i=j等价的表达式是A. i=*pB. i=&*pC. i=**pD. *p=*&j6.有如下程序,该程序的输出结果是#include <stdio.h>long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else if(n==2) return(2);else return(1);}main(){ printf("%d\n",fib(4)); }A. 3B. 4C. 5D. 67.以下对一维整型数组a的正确说明是A. int a(l0);B. int n=l0, a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[n]; int a[SIZE];8.与if(w);中表达式w等价的表示是A. w==0B. w==1C. w!=0D. w!=19.以下对二维数组a进行正确初始化的是A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[][3]={1,2,3,4,5,6};C. int a[2][]={1,2,3,4,5,6};D. int a[2][]={{1,2},{3,4}};10.以下程序段的输出结果是char c[5]={'a','b','\0','c','\0'};printf("%s",c);A. 'a' 'b'B. abC. ab\0cD. ab c11.下面程序段是输出两个字符串中对应字符相等的字符,请填空char x[]="programming";char y[]="fortran";while(x[i]!='\0'&&y[i]!='\0')if(x[i]==y[i]) printf("%c", );else i++;A. x[i]B. y[i]C. x[++i]D. y[i++]12.以下程序段的输出结果是int a[6]={0,1,2,3,4,5},*p=a;printf("%d\n",*(p+3));A. 0B. 3C. 2D. 413.逻辑运算符两侧运算对象的数据类型A. 只能是0和1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据14.在“文件包含”预处理语句的使用形式中,当#inlcude后面的文件名用“”(双引号)括起时,寻找被包含文件的方式是A. 直接按系统设定的标准方式搜索目录B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索C. 仅仅搜索源程序所在目录D. 仅仅搜索当前目录15.以下错误的描述是A. 函数调用可以出现在执行语句中B. 函数调用可以出现在一个表达式中C. 函数调用可以作为一个函数的实参D. 函数调用可以作为一个函数的形参16.设有以下程序段:char s[]="china";char *p=s;则下列叙述正确的是A. s和p完全相同B. 数组s中的内容和指针变量p中的内容相等C. s数组长度和p所指向的字符串长度相等D. *p与s[0]相等17.若有定义int a[10],*p=a;则p+5表示A. 元素a[5]的地址B. 元素a[5]的值C. 元素a[6]的地址D. 元素a[6]的值18.若有以下定义说明:struct student{ int age;int num; }std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确...的是A. std.ageB. p->ageC. (*p).ageD. *p.age19.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A. if(x>0) y=1;B. if(x)else if(x<0) y=-1; if(x>0) y=1;else y=0; else if(x<0) y=-1;else y=0;C. y=-1;D. y=0;if(x) if(x>=0)if(x>0) y=1; if(x>0) y=1;else if(x==0) y=0; else y=-1;else y=-1;#include <stdio.h>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;}printf("%d\n",a);}A. 7B. 8C. 9D. 1021.若有以下说明和语句,则下面表达式中的值为1002的是struct student{ int num;int age;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};struct student *p;p=stu;A.(p++)->ageB.(++p)->numC.(*p).numD.(*++p).age22.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是A. 'x'&&'y'B. x<=yC. x||y+z&&!yD.!(x<y)&&!z||023.下面程序的功能是在输入的一批整数中求出最大者,输入0时结束,请选择填空#include <stdio.h>main(){ int a,max=0;scanf("%d",&a);while( ){ if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);}A. a==0B. aC.!a==1D. !a24.设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是A. 9B. 5C. 6D. 725.在说明一个联合体变量时,系统分配给它的存储空间是A. 该联合体中第一个成员需存储空间B. 该联合体中最后一个成员所需存储空间C. 该联合体中占用最大存储空间的成员所需存储空间D. 该联合体中所有成员所需存储空间的总和二、填空题(共10题,每题1分,共10分)请按照试题中对应的标号顺序填写到答题表中1.一个C源程序中至少包括一个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题Ⅲ一、选择题(本大题30分,每小题2分)1.下列有关C程序的说法中,正确的是:。
A)一个C程序中只能有一个主函数且位置任意;B)一个C程序中可有多个主函数且位置任意;C)一个C程序中只能有一个主函数且位置固定;D)一个C程序中可以没有主函数。
2.以下叙述中不正确的是:。
A)在C程序运算符中,逗号运算符优先级最低;B)C程序中,AHP和ahp代表两个不同的变量;C)C程序中,整数和实数在内存中存放形式相同;D)在C程序中, %是只能用于整数运算的运算符.3.已知ch是字符型变量,下面不正确的赋值语句是:。
A)ch=…\0‟ B)ch=…a+b‟C)ch=…7‟+…9‟ D)ch=7+94.设有如下定义int x=10,y=5,z;则语句printf("%d\n",z=(x+=y,x/y));的输出结果是。
A)1 B)0 C)4 D)35.设有如下定义:char ch=…z‟,则执行下面语句后变量ch是值为:。
ch=(…A‟<=ch&&ch<=…Z‟)?(ch+32):chA)A B)a C)Z D)z6.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:。
printf(“%f”,(x,y));A)3.600000 B)5.800000C)3.600000,5.800000 D)输出符号不够,输出不正确值7.设有两字符串”Beijing”、”China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把”China”连接到”Beijing”之后的为:。
A)strcpy(str1,str2);B)strcpy(str1, “China”);C)strcat(str1,”China”)D)strcat(“Beijing”,str2);8.以下对一维整型数组a的正确说明是。
A)int a(10);B)int n=10,a[n];C)int n; scanf(“%d”,&n); int a[n];D)#define SIZE 10 int a[SIZE];9.设有如下程序段,则其执行结果为:。
static int a[ ]= { 1,2,3,4 }, *p ; int i;p=a; (p+3) + =2; printf(“%d”,*(p+3) );A)0 B)6 C)a[3]地址D)不正确的值10.若I为整型变量,则下列程序段的运行结果为。
i=322;if(i%2==0) printf(“#####”)else printf(“*****”);A)##### B)#####*****C)***** D)有语法错误,无法输出结果11.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。
if (x>y||x<z&&y>z)z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5012.下面程序段的运行结果是:。
x=y=0; while(x<15) y++, x+=++y;printf(“%d,%d”, y, x);A)20, 7 B)6, 12C)20, 8 D)8, 20 13.若有语句int *point , a =45; point = &a;下面均代表同一变量地址的一组选项是:。
A)&a point *&aB)&*a &a *pointC)point &point &aD) &a, &*point point14.以下程序的运行结果是:。
main( ){ int a=2, i ;for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }f( int a){ int b=0; static int c=3b++; c++; return(a+b+c); }A)7 10 13 B)7 7 7C)7 9 11 D)7 8 915.若有如下定义:int a[3][3]={1,2,3,4,5,6,7,8,9},i ;则下列语句的输出结果是:。
for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]);A)3 5 7 B)3 6 9C)1 5 9 D)1 4 7二、判断题(本大题10分,每小题1分)1.C语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。
()2.在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自己定义的。
()3.在C程序中一行内可以写几个语句,一个语句可以分写在多行上。
因此,并不是每一条C语句都必须有一个分号的。
()4.在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。
()5.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。
()6.C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。
()7.数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。
()8.在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。
如字符串”That”与”The”就不能进行大小比较。
()9.函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。
()10.定义指针变量时指定的类型称为基类型,基类型是指针变量所指向变量的类型,因此指针变量被定义之后都只能指向某一类型的变量。
()三、程序填空题(本大题12分,每小题2分)1.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。
请填空:main( ){ char ch;scanf(“%c”,&ch);if ( (1)) ch=ch+32;else if(ch>…a‟&&ch<…z‟) ((2));printf(”%c\n”,ch);}2. 以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。
请填空:main( ){ int a[3][4] = { { 7, 5, -2, 3 },{ 1, 0, -3, 4 },{ 6, 8, 0, 2 } };int b[3][4] = { { 5, -1, 7, 6 },{ -2, 0, 1, 4 },{ 2, 0, 8, 6 } };int i, j, c[3][4];for ( i=0; i<3; i++ )for ( j=0; j<4; j++ )c[i][j] = ___(3)____ ;for ( i=0; i<3; i++ ){ for ( j=0; j<4; j++ )printf ( “%3d”, c[i][j] ) ;____(4)___ ;}}3.以下程序使用递归法求n!,请填空:float fac( int n){ float f;if(n<0) {printf(“n<0” data error); f=-1;}else if(n==0||n==1) f=1;else f= (5);return( f ); }main( ){ int n; float y;printf(“input a integer number”);scanf(“%d”,&n);y= (6);printf(“%d! = %15.0f”, n, y );}四、写出下面程序的执行结果(本大题24分,每小题4分)1.main( ){ float a=3.14, b=3.14159;printf(“%f, %5.3f\n”,a,b);} 2.main( ){ char a[5][5],i,j;for(i=0;i<5;i++)for(j=0;j<5;j++)if(i==0 ||i+j==4)a[i][j]='*';else a[i][j]=' ';for(i=0;i<5;i++){ for(j=0;j<5;j++)printf("%c",a[i][j]);printf("\n"); }}3.main( ){ int x, i ;for( i=1,x=1; i<=50; i++ ){ if(x>=10) break;if(x%2==1){ x+=5;continue;}x - = 3;}printf(“%d\n”, i );}4.func( int x, int y){ int z;z=a+b;return(z); }main( ){ int a=6, b=7, c=8, r;r=func( ( a--, b++, a+b), c--)printf(“%d”, r) ;}5.#include <STDIO.H>void increment(void);void main(void){ increment();increment();}void increment(void){ static int x = 8;x ++;printf("x = %d\n", x);}6. #include <stdio.h>void main(void){ static char a[]="ABCDEFGH",b[]="abCDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if (*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");}五.编程题(共30分)1.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。
x2(x<0)y = -0.5x+10 (0≤x<10)x-x(x≥10) 2.若有如下公式:62π≈211+221+231+。
+21n试根据上述公式编程计算π的近似值(精确到10-6)。
3.编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。