C语言综合模拟题1.1.1
- 格式:doc
- 大小:33.50 KB
- 文档页数:5
《C语言程序设计》模拟题1一、选择题:1.一个C语言的源程序中__A____。
A)必须有一个主函数 B)可以有多个主函数C)必须有主函数和其他函数 D)可以没有主函数2.执行以下语句的结果为__C_ __。
y=10; x=y++;A)x=10, y=10 B)x=11, y=11C)x=10, y=11 D)x=11, y=103.执行以下程序段后,c3的值是__A____。
int c1=1,c2=2,c3;c3=c1/c2;A) 0 B) 1/2 C) 0.5 D) 14.C语言中字符型(char)数据在内存中的形式存储是__D ___。
A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是__ D____。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 2e32.66.C语言中整数-8在内存中的存储形式是__B ____。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000C) 0000 0000 0000 1000 D) 1111 1111 1111 01117.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是_B ____。
A)6 B)12 C)30 D)368.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是_ A___。
A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的9.以下程序的输出结果是_C ___。
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,7, C) 3,5,7, D) 3,6,9, 10.已知:double *p[6];它的含义是__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及答案一、选择题(每题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模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 以下代码段的输出结果是什么?```cint a = 10;printf("%d", a++);```A. 10B. 11C. 9D. 编译错误答案:A4. 在C语言中,以下哪个语句可以正确地实现数组元素的初始化?A. int arr[5] = {0, 1, 2};B. int arr[5] = {0, 1, 2, 3, 4};C. int arr[5] = {0};D. int arr[5] = {0, 1, 2, 3};答案:C5. 下列哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction(int a, int b);B. int myFunction(int a, int b);C. Both A and BD. None of the above答案:C7. 以下哪个是C语言中的输入函数?A. printf()B. scanf()C. sprintf()D. fprintf()答案:B8. 以下代码段的输出结果是什么?```cfor (int i = 0; i < 5; i++) {printf("%d ", i);}```A. 0 1 2 3 4B. 4 3 2 1 0C. 1 2 3 4 5D. 编译错误答案:A9. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[10] = "Hello";答案:A10. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C二、填空题(每空2分,共20分)1. 在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语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。
A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。
A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。
#include<stdio.h>main(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。
#include<stdio.h>main(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b)}A)0 B)1 C)2 D)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。
A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。
事业单位招录计算机专业知识(C语言)模拟试卷1(题后含答案及解析)题型有:1. 单项选择题 4. 简答题单项选择题1.C语言属于( )语言。
A.汇编语言B.结构化C.面向对象D.SQL正确答案:B解析:C语言属于结构化语言。
知识模块:C语言2.下列说法错误的是( )。
A.C程序运行步骤是编辑、编译、连接、运行B.C语言的变量名必须用小写,常量用大写C.C语言的三种基本结构是顺序、选择、循环D.C程序一定由函数构成的正确答案:B解析:C语言程序运行步骤是编辑(把程序代码输入,交给计算机)、编译(成目标程序文件.obi)、连接(成可执行程序文件.exe)和运行(可执行程序文件),故A正确。
顺序结构、选择结构和循环结构是C语言的三个基本结构,故C正确。
一个C源程序是由一个main函数和若干个其他函数组成的,故D正确。
对于C语言变量和常量的命名,只要满足由字母、数字、下画线组成,且首字母不为数字的命名规则即可,只不过按照编程惯例来说变量名常用小写,常量常用大写,故B不正确。
知识模块:C语言3.关于main函数说法正确的是( )。
A.main函数没有返回值B.main是C程序中的关键字C.main函数是C程序中的主函数,有且仅有一个D.main函数从函数中开始执行,在最后一个函数中结束正确答案:C解析:main函数有返回值且不是关键字,一个程序从主函数开始运行。
知识模块:C语言4.下列说法中正确的是( )。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它是由命令组成的正确答案:B解析:TC只是一种C语言的编辑软件,C语言可以在其他的一些软件中输入,比如说win-TC.Visual C++等软件,故A错误。
C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入,故B正确。
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语言》期末考试模拟复习题一一、单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把正确选项的序号,填入题中的括号内。
多选不给分。
每题1分,共20分)1.以下不是c语言规定保留字的是(B )。
(A)float (B)integer (C)signed (D) unsigned2.设int型变量x有初始值3,则表达式x++*5/10的值是( B )(A)0 (B)1 (C)2 (D)33.下述程序执行后的输出结果是(A )#include <stdio.h>main(){int x='f';printf("%c\n",'a'+(x-'a'+1));}(A)G (B)H (C)I (D)J4.设有程序#include <stdio.h>main(){int i,j;for (i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}在运行上述程序时,for语句中循环体的执行次数是( C )(A)3 (B)2 (3)1 (D)05.在下述选项时,没有构成死循环的程序是( C )(A)int i=100while (1){i=i%100+1;if (i>100)break;}(B)for (;;);(C)int k=1000;do{++k;}while (k>=10000);(D) int s=36;while (s);--s;6.假定a和b为int型变量,则执行下述语句组后,b的值为( D )。
a=1;b=10;do{b-=a;a++;} while (b--<0);(A)9 (B)-2 (C)-1 (D)87.设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( B )。
switch (a){case 1:switch (b){case 0:printf("**0**");break;case 1:printf("**1**");break;}case 2:printf("**2**");break;}printf("\n");(A)**0** (B)**0****2** (C)**0****1****2** (D)有语法错误8.以下合法的数组说明是( D )。
模拟题一一、选择题1.下列说法正确的是()。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.C语言中不能用来表示整常数的进制是()。
A)十进制B)十六进制C)八进制D)二进制3.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:()。
A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型4.C语言规定标识符由()等字符组成。
A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线5.若有说明语句:char c= ‘\64’ ; 则变量C包含()。
A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定6.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是()。
A)2.500000 B)3.500000 C)4.500000 D)5.0000007.设有如下定义和执行语句,其输出结果为()。
int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 38.以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。
A)int B)float C)char D)double9.C语言中,运算对象必须是整型数的运算符是()。
A)%B)\C)% 和\D)**10.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为()。
A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .11.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
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语言中,一个变量的声明必须在____的开始。
考试模拟题1及参考答案考试模拟题1一、单项选择题(共20题,每题1分,共20分。
)1. 以下叙述不正确的是。
A. 一个C源程序可由一个或多个函数组成B. 在C程序中注释说明只能位于一条语句的后面C. C程序的基本组成单位是函数D. 一个C源程序必须包含一个main函数2. 若变量已正确定义并赋值,表达式()不符合C语言语法。
A. 3%2.0B. a*b/cC. 2, bD. a/b/c3. 六种基本数据类型的长度排列正确的是()。
A. bool=char<int≤long=float<doubleB. char<bool=int≤long=float<doubleC. bool<char<int<long<float<doubleD. bool<char<int<long=float<double4. 下面程序段的运行结果是()。
char a[7]= "abcdef",b[4]= "ABC";strcpy(a,b);printf("%c",a[5]);A. 空格B. \0C. eD. f5. 设int a=9,b=8,c=7,x=1;则执行语句if(a>7) if(b>8) if(c>9)x=2;else x=3;后x的值是()。
A. 2B. 1C. 0D. 36. 对以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为()。
int main(){char c1,c2;int a1,a2;c1=getchar(1); scanf("%2d",&a1);2c2=getchar(a); scanf("%3d",&a2);345printf("%d,%d,%c,%c\n",a1,a2,c1,c2); ,,,return 0;}A. 12,345,a,bB.C. 2a,45b,1,3D. 2,789,1,a7. 以下程序的输出结果是:()。
第一部分:选择题(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的值为偶数时,表达式的值为”假”。
模拟题1一、单选题(本大题10小题,每题2分,共20分)1.C语言表达式a=15,a%6的值是_______AA.3B.5C.非法表达式D.152.循环语句中,continue语句的作用是______AA.结束本次循环B.跳出子函数C.从本循环体内跳出D.终止程序3.定义一个返回值为int 的无参函数cacul的正确语句是______CA.void cacul(void);B.void cacul(int);C.int cacul();D.int cacul;4.下面运算优先级按从高到低的排列正确的是_____AA.条件运算赋值运算逗号运算B.算术运算逻辑运算关系运算C.逻辑运算关系运算赋值运算D.位运算算术运算赋值运算5.以下叙述中,正确的是_____BA.C程序中,main函数必须位于程序最前面B.C语言本身没有输入和输出语句C.在对一个C程序进行编译的过程中发现注释中的拼写错误D.C程序中每行中只能写一个语句6.数组age[2][4]的非法引用是________AA.age[3][0]B.&age[0][0]C.age[0][1]D.age[1][1+1]7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______BA.x =0, a=3, b=4B.x =0, a=0, b=4C.x =0, a=3, b=8D.x =0, a=0, b=88.下列_________语句正确定义字符数组。
CA.char x[4]= "hello"B.char x[5]= "hello"C.char x[]= "hello"D.char x[4+1]= "hello"9.下面四个程序段中,不能输出23个*号的程序段是________DA.for(int i=0;i<23;i++) putchar(‘*’)B.for(int j=23;j>0;j--) putchar(‘*’)C.int k=23;while (k>0) {putchar(‘*’);k--}D.int i=0;while(i>23) {putchar(‘*’);i++;}10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4 的值是_____C 。
《C语言程序设计》模拟试卷一、单选题(每题2分,共56分):1、设有int I=10,j=10;则printf("%d,%d\n",++I,j--)的输出是__A___.A. 11, 10B. 9 10C. 10 9D. 10,92、设 int b=2;表达式b/(b*2)的值是___A____.A. 0B. 0.5C. 0.500000D. 0.000003、设整型变量a为10,b为3,下列的表达式值为1的是__D____A. !(b==a/3)B. b!=a%7C. a>0&&b<0D. a!=b||a>=b4、设x为int型变量,则执行以下语句后,x的值为___B____.x=10; x+=x-=x-x;A. 10B. 20C. 40D. 305、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是 AA. 200B. 100C. 200 100D. 输出格式符不够,输出不确定的值6、执行下面的程序后,a的值是 B#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A. 10B. 1C. 9D. 07、下面程序段的运行结果是 Dx=y=0;while(x < 15) y++,x+=++y;printf("%d,%d",y,x);A. 20,7B. 6,12C. 20,8D. 8,208、下列程序执行后的输出结果是 C void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0;func1(i);printf("\n");}A. helloB. helC. hloD. hlm9、请读程序:#includeFUNC(int A, int B){ int C;C=A+B;return C;}main ( ){ int X=6,Y=7,Z=8,R;R=FUNC((X,Y,X+Y),Z--);printf("%d\n",R);}上面程序的输出结果是 CA. 11B. 20C. 21D. 3110、输入一个华氏温度,要求输出摄氏温度。
C 语言综合模拟题(一)一、选择题 1.在C 语言程序中( ) A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的嵌套和函数的调用均不可以嵌套 D)函数的嵌套和函数的调用均可以嵌套 2.下面程序段的输出结果是( ) int a=011; printf(“%d \n”,++a); A)12 B)11 C)10 D)9 3.若k 为整型,则while 循环( ) k=2; while(k==0) printf("%d",k); k--; printf("%d",i); A)0 B)123456789 C)0123456789 D)10 5.以下对二维数组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}}; 6.若有定义:int a[4][10],则以下选项中对数组元素a[i][j]的错误引用是(此处 0<=i<4,0<=j<10) A)(&a[0][0]+10i+j) B)*(a+i)[j] C)*(*(a+i)+j) D)*(a[i]+j) 7.以下程序段的输出结果 int a[]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2; printf("%d,%d\n",*p, *(p+3)); A)0,5 B)1,5 C)0,6 D)1,6 8.下面各语句中,能正确进行赋字符串操作的是____A)chars[5]={'a','b','c','d','e'}B)char *s;get(s) C)char *s;s=“ADFA”;D)char s[5];scanf(“%s”,&s); 9.下列程序段的运行结果 #define p 3 #define S(a) p*a*a main() {int ar; ar=S(3+5); printf("\n%d",ar);} A)192 B)29 C)27 D)25 10.下面程序段的运行结果 x=y=0;while(x<15) y++,,x+=++y; printf("%d,%d",y,x); A)20,7 B)6,12 C)20,8 D)8,20 11.有以下说明和语句: struct worker {int no; char *name;}work,*p=&work;则以下引用方式不正确的是_______ A)work.no B)(*p).no C)p->no D)work->no12.在说明一个联合体变量时,系统分配给它的存储空间是_____ A)该联合体中第一个成员需存储空间B)该联合体中最后一个成员所需存储空间C)该联合体中占用最大存储空间的成员所需存储空间D)该联合体中所有成员所需存储空间的总和 二.填空题 1.设n=10,i=4,则赋值运算n%=i+1执行后n 的值是___ 2.若int x=1,y=2,z=3;则表达式z+=x>y?++x,++y 的值是_____ 3.若a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值是______ 4.当a=1,b=2,c=3时,执行以下语句后 a=______,b=_________ if(a>c) b=a;a=c;c=b;5.若所用变量都已正确定义,请填写以下程序段的输出结果_____ s=7;do s-=2; while(s=0); printf("s=%d\n",s); 6.定义inta[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是___7.设a=000101101,若想通过a^b 运算使a 的高4位取反,低4位不变,则b 的二进制数应为_____8.C 语言中的文件类型有______和________两种。
c模拟考试练习题第一节:选择题1. 下列哪个是C语言的关键字?A. intB. printC. ifD. for2. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. >D. +3. 下面哪个选项表示在C语言中进行输出操作的函数?A. scanfB. inputC. printfD. print4. 在C语言中,以下哪个数据类型用于存储整数?A. floatB. charC. doubleD. int5. 以下哪个操作符用于在C语言中获取一个变量的地址?A. %B. *C. &D. /第二节:填空题1. 下面哪个选项是C语言中表示单行注释的符号?______2. 以下哪个函数用于从标准输入读取字符?______3. 在C语言中,以下哪个预处理器指令用于包含头文件?______4. 声明一个整型指针的关键字是______。
5. 在C语言中,使用______语句可以根据条件选择性地执行一段代码。
第三节:编程题编写一个简单的C程序,要求实现以下功能:1. 定义一个整型变量x,并赋值为10。
2. 输出x的值。
3. 利用循环语句将x的值累加5次,并输出累加后的结果。
4. 将x的值乘以2,并将结果保存在x中。
5. 输出乘法后的x的值。
```c#include <stdio.h>int main() {int x = 10;printf("x的初始值为:%d\n", x);for (int i = 0; i < 5; i++) {x += 1;}printf("累加5次后的x的值为:%d\n", x);x *= 2;printf("乘以2后的x的值为:%d\n", x);return 0;}```总结:本文主要是c模拟考试练习题,分为选择题、填空题和编程题三个部分。
通过这些题目的练习,读者可以巩固C语言的基础知识和编程能力。
C语言综合模拟题(一)
一、选择题(共12题,每题2分)
1.在C语言程序中( )
A)函数的定义可以嵌套,但函数的调用不可以嵌套
B)函数的定义不可以嵌套,但函数的调用可以嵌套
C)函数的嵌套和函数的调用均不可以嵌套
D)函数的嵌套和函数的调用均可以嵌套
2.下面程序段的输出结果是()
int a=11;
printf(“%d\n”,++a);
A)12 B)11 C)10 D)9
3.以下选项中属于C语言的数据类型是()
A.复数型B.逻辑型C.集合型D.双精度型
4.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()
A.3 B.0C.-12D.9
5.以下对二维数组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}};
6. 下面程序的输出结果是:()
#define POWER(x) (x*x)
void main()
{int i=4; printf("%d",POWER(i-2)); }
A. -9
B. -7
C. 5
D. -6
7.以下程序段的输出结果是_____
int a[]={1,2,3,4,5,6},*p;
p=a; *(p+3)+=2;
printf("%d,%d\n",*p,*(p+3));
A)0,5 B)1,5 C)0,6 D)1,6
8.下面各语句中,能正确进行赋字符串操作的是____
A)char s[5]={'a','b','c','d','e'}
B)char *s;get(s)
C)char *s;s=“ADFA”;
D)char s[5];scanf(“%s”,&s);
9.下列程序段的运行结果为_______
#define p 3
#define S(a) p*a*a
main()
{int ar;
ar=S(3+5);
printf("\n%d",ar);}
A)192 B)29 C)27 D)25
10.下面程序段的运行结果是()
x=y=0;
while(x<15) {y++;x+=++y;}
printf("%d,%d",y,x);
A)20,7 B)6,12 C)20,8 D)8,20
二.填空题(共8题,每题2分)
1.设n=10,i=4,则赋值运算n%=i+1执行后n的值是_____
2.若int x=1,y=2,z=3;则表达式z+=x>y?++x,++y的值是_____
3.若a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值是______
4.当a=1,b=2,c=3时,执行以下语句后a=______,b=_________
if(a>c) b=a;a=c;c=b;
5.若所用变量都已正确定义,请填写以下程序段的输出结果_____ s=7;
do s-=2; while(s==0);
printf("s=%d\n",s);
6.定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是___
7.字符串"A"在内存中占用的字节数为。
三.程序分析题(共5题,每题4分)
1.若输入B,以下程序的运行结果为_________
void main()
{char grade; scanf("%c",&grade);
switch(grade)
{case'A':printf(">=85");
case'B':printf(">=75");
case'C':printf(">=60");
case'D':printf("<60");
default:printf("errror");}}
2.程序运行结果是_________
void main()
{ int i=1;
while(i<10)
if(++i%3!=1) continue;
else printf("%d",i);}
3.程序输出结果是________
#include <stdio.h>
void sub1(char a,char b){char c;c=a;a=b;b=c;}
void sub2(char *a,char b){char c;c=*a;*a=b;b=c;}
void sub3(char *a,char *b){char c;c=*a;*a=*b;*b=c;} void main()
{char a,b;
a='A';b='B';sub1(a,b);putchar(a);putchar(b);
a='A';b='B';sub2(&a,b);putchar(a);putchar(b);
a='A';b='B';sub3(&a,&b);putchar(a);putchar(b);
}
4.程序输出结果是________
int fact(int n)
{ static int f=1;
f=f*n;
return(f);}
void main()
{int i;
for(i=1;i<=5;i++) printf("%d!=%d\n",i,fact(i));}
5.程序输出结果是________
#define N 5
void main()
{int a[N]={1,3,5,7,9},i,temp;
for(i=0;i<N/2;i++)
{temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp;}
printf("\n");
for(i=0;i<N;i++) printf("%d",a[i]);}
四.程序填空题(共5题,每题4分)
1.完善程序,将输入字符的大写转换成小写后显示出来#include <studio>
void main()
{int c;
c=getchar9);
if(_________) ______________;
putchar(c);}
2.下面程序的功能是调用max()函数,求两个数中较大者,请填空
void max(int x,int y)
{int z; if(x>y) z=x; else z=y; return z;}
int a=8,b=12,c;
c=__________________;printf("%d",c);}
3.以下程序实现将三个数中的大数输出在前,小数输出在后,请填空。
#include <stdio.h>
void swap(int *p1, int *p2)
{int t;
t=*p1; *p1=*p2; *p2=t;}
void chang(int *q1, int *q2 int *q3)
{if(*q1>*q2) swap(q1,q2);
if(*q1>*q3) swap(q1,q3);
if(*q2>*q3) swap(q2,q3);}
void main()
{int a=6,b=4,c=2;
chang(__________________);
printf("%d,%d,%d\n",a,b,c):}
4. 下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。
void main()
{ char a[]="students",t; int i,j;
for(i=1;i<7;i+=2)
for(j=i+2;j<8; )
if( )
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
}
5. 下列函数coy把字符数组S2中的全部字符复制到字符数组S1中, 复制时’\0’也要复制过去,’\0’后面的字符不用。
coy(char s1[],char s2[])
{ int i;
for(i=0;s2[i]!= ;i++)
s1[i]=s2[i];
;
}
五.编程题(共2题)
1.判断输入的数是否为素数,是则输入yes,否则输出no,要求用函数调用完成。
(8分)
2.编写程序。
用键盘输入10名学生的成绩,显示其中的最低分,最高分及平均成绩。
(12分)。