C语言程序设计模拟试题A附答案
C程序设计期末考试试卷A及答案

C程序设计期末考试试卷A及答案考试试卷A一、选择题(每题2分,共30分)1. 下列哪个不是C语言的关键字?A. intB. doubleC. floatD. void2. 在C语言中,以下哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()3. 在C语言中,以下关于数组的说法正确的是:A. 数组可以存储不同类型的元素B. 数组的大小可以在运行时改变C. 数组的下标从-1开始D. 数组的元素可以通过指针进行访问4. 下面的代码输出的结果是什么?```c#include <stdio.h>int main() {int x = 5;int y = 2;double result = x / y;printf("%lf\n", result);return 0;}```A. 2.000000B. 2.500000C. 2.666667D. 25. 在C语言中,以下哪种循环结构可以确保至少执行一次循环体?A. for循环B. while循环C. do-while循环D. if-else语句二、填空题(每题4分,共20分)1. 下列哪个关键字用于定义一个常量?_ _ _ _ _ _ _2. 编写一个C语言函数,用于计算一个整数的平方。
```c_ _ _ _ _ _ _ _ _ _ _ _ _ _ _```3. 在C语言中,以下符号表示“或”运算:_ _ _4. 在C语言中,以下符号表示“与”运算:_ _ _5. 在C语言中,以下是判断两个整数是否相等的运算符:_ _ _ _ _三、编程题(共50分)请编写一个C语言程序,实现一个简单的计算器。
该计算器具有对两个整数执行四则运算的功能,用户可以通过输入对应的操作符来选择进行的运算。
程序的运行示例如下:```请输入第一个整数:2请输入第二个整数:3请输入操作符(+、-、*、/):*结果为:6```考试试卷A答案一、选择题1. B2. A3. D4. A5. C二、填空题1. const2. int square(int num)3. ||4. &&5. ==三、编程题(示例代码)```c#include <stdio.h>int main() {int num1, num2;char operator;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);printf("请输入操作符(+、-、*、/):"); scanf(" %c", &operator);switch (operator) {case '+':printf("结果为:%d\n", num1 + num2); break;case '-':printf("结果为:%d\n", num1 - num2);break;case '*':printf("结果为:%d\n", num1 * num2); break;case '/':if (num2 != 0) {printf("结果为:%d\n", num1 / num2); } else {printf("除数不能为0\n");}break;default:printf("无效的操作符\n");}return 0;}```本次C程序设计期末考试试卷A及答案共包含选择题、填空题和编程题。
《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
山东大学网络教育学院C语言程序设计模拟题A答案

《C语言程序设计》模拟卷A卷一、选择题: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) D) 14.C语言中字符型(char)数据在内存中的形式存储是____D__。
A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是____D__。
A) 0xA5 B) -2 C) 3e2 D)6.C语言中整数-8在内存中的存储形式是___B___。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 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.执行以下程序段后,a,b,c的值分别是______。
int a,b=100,c,x=10,y=9;a=(--x==y++)?--x:++y;if(x<9)b=x++; c=y;A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,109.一个C语言程序的基本组成单位是______C。
A)主程序 B)子程序 C)函数 D)过程10.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是___A_。
A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的11.以下程序的输出结果是___C_。
c语言程序设计试卷及答案(A)

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。
答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。
A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。
A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。
A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。
int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。
A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。
A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。
int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。
int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。
A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。
C语言程序设计模拟题(含答案)

C语言程序设计模拟题(含答案)C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。
错选、多选或未选均无分。
1. 以下正确的C语言自定义标识符是__A____。
A. _1aB. 2a_C. doD. a.122. 在C语言中,错误的常数表示是___D____。
A. 0LB.-0x6aLC. '6'D. 1.234E3.53. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是___B____。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是___C______。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是___C_____A_。
A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是___B______。
A. 12B. 17C.36 D. 418. C语言程序中,整型常量的书写形式不包括___A______。
A. 二进制B. 八进制C. 十进制D. 十六进制9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。
电大《C语言程序设计》2019-2020模拟试卷及答案

《C语言程序设计》2019-2020模拟试卷及答案一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
AA. warningB. errorC. warnD. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
长安大学网络教育《C语言程序设计》模拟试卷及参考答案

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

求 s 的值并输出。可编写如
下之程序段来实现。请填空。
int k;
double s,d;
s=0.0;
d=1.0;ห้องสมุดไป่ตู้
k=0;
do
{
s=s+d;
__k++ ; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是___-3 -4 0 4 4 3_ 。 #include <stdio.h> main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 解析:(i>3)为真时值为 1,反之为 0, 6.执行下述程序的输出结果是___6___。 #include <stdio.h> main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z;
2.下列给定程序中,函数 fun 的功能是:逐个比较 a、b 两个字符 串对应位置中的字符,把 ASCII 值大或等于的字符一次存放到 c 数 组中,形成一个新的字符串。例如,若 a 中的字符串为 aBCDeFgH,b 中的字符串为:ABcd,则 c 中的字符串为:aBcdeFgh。 #include <stdio.h> #include <string.h> void fun(char *p,char *q,char *c); { int k=1; while(*p!=*q) { if (*p<*q) c[k]=*q; else c[k]=*p; if (*p) p++; if (*q) q++; k++; } } main() { char a[10]=“aBCDeFgh”,b[10]=“ABcd”,c[80]={“”}; fun(a,b,c); printf(“The string a:”); puts(a); printf(“The string b:”); puts (b); printf(“The result:”); puts(c);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的就是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被瞧作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的就是(C)。
A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的就是(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};4、执行下列程序段后输出的结果就是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。
解析:strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符strcpy(str1,str2); 执行后,函数返回的就是str1,因为str1[] 里就是新值"XYZ", 而strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。
strlen 统计到字符串结束符以前,即,不计入字符串结束符。
A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的就是(A)。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)。
A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句就是(C)。
A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";解析:这样理论上的没错的把s指针指向字符串可以改变s指针但不能改变其指向的值正确的应该就是这样char s[] = "ABCDEF";或char s[8];strcpy(s, "ABCDEF");9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的就是 (C)。
A)++p B)++(*p) C) *(++p) D) *(p+=2)解析:A就是把p得地址后移一个int单位长度,即使p指向数组的第二个元素。
B就是取得p当前指向的元素值然后加1,即1+1=2;C就是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即3、D就是先使p指向数组的第三个元素,然后去的当前指针指向的元素的值,即5。
10、下面程序的输出结果就是(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二、填空题。
(每空2分,共30分)1、设有变量说明语句:int x=1,y=2;则执行下述printf语句的输出结果就是__1、000000_printf("%f\n",1、0+x/y);2、执行下述程序:#include <stdio、h>main(){int x,y;scanf("%2d%*2s%1d",&x,&y);printf("%d\n",x+y);}若从键盘输入:12345671则程序的输出结果就是__17__。
解析:x,y为int类型,x的长度为2,y的长度为1,即x为12,y为5,故x+y=173、以下程序的功能就是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩与最低成绩。
请填空。
#include <stdio、h>main(){float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while (x>0){if (x>amax)amax=x;else if (x<amin)amin=x;}printf("\namax=%f\namin=%f\n",amax,amin);}4、设n 就是整型变量,且已具有某正整数值。
根据下述数学式1114131312121+⋅++⋅+⋅+n n Λ 求s 的值并输出。
可编写如下之程序段来实现。
请填空。
int k;double s,d;s=0、0;d=1、0;k=0;do{s=s+d;__k++ ;d=1、0/(k*(k+1));} while (k<=n);printf("%f\n",s);5、执行下述程序的输出结果就是___-3 -4 0 4 4 3_ 。
#include <stdio 、h>main(){int a[6],i;for (i=0;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;}printf("\n");}解析:(i>3)为真时值为1,反之为0,6、执行下述程序的输出结果就是___6___。
#include <stdio、h>main(){int a[]={2,4,6,},*ptr=&a[0],x=8,y,z;for (y=0;y<3;y++)z=(*(ptr+y)<x)?*(ptr+y):x;printf("%d\n",z);}7、执行下述程序的输出结果就是_____60 __。
#include <stdio、h>main(){int a[][2]={10,20,30,40,50,60},(*p)[2];p=a;printf("%d\n",*(*(p+2)+1));}8、执行以下程序的输出结果就是__10_。
#include <stdio、h>main(){int s,i,sum();for (i=1;i<=10;i++)s=sum(i);printf("s=%d\n",s);}sum(int k){int x=0;return (x+=k);}9、下述函数定义用来求出两个整数之各,并通过函数的模拟传地址调用,传回两整数相加之与值,请填空。
void add(int x,int y,____int *z ___){*z=x+y;}10、函数func的功能就是将整型变量x的值转换成二进制数,并将该二进制数的每一位存入由整型指针b所指向的一维数组a,最低位存放于a[0]中,次低位存放于a[1]中,依此类推。
请填空。
void func(int x,int *b){int r;do{r=x%2;_____________=r;x/=2;} while (x);}11、以下程序中函数invert实现将数组内所有数组元素的值逆置。
比如,执行本程序将输出:10 9 8 7 6 5 4 3 2 1请填空。
#include <stdio、h>main(){int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10;invert(a,n-1);for (i=0;i<10;i++)printf("%3d",a[i]);printf("\n");}invert(int *s,int num){int *t,k;t=s+num;while (____t>s_______){k=*s;*s=*t;*t=k;s++;t--;}}12、若有以下定义与说明,则结构体变量w在内存中所占的字节数就是_____ union aa{float x;float y;char c[6]; };struct st{union aa v;float w[5];double ave; } w;13、执行下述程序的输出结果就是______ _______。
#include <stdio、h>struct str{float x;char *y;} *m;struct str group[3]={95、0,"Li",82、5,"Wang",73、5,"Sun"};main(){m=group;printf("%、lf,%s\n",m->x,m->y);}14、下面的程序用来统计某文件中字符的个数。
请填空。
#include <stdio、h>#include <stdlib、h>main(){FILE *fp;long num=0;if ((fp=fopen("fnam、dat","r"))==NULL){printf("Can't open this file!\n");exit(0);}while (____ _____){fgetc(fp);num++;}printf("num=%d\n",num);fclose(fp);}15、执行下述程序后,输出结果为______。
#include <stdio、h>#define FUN1(a,b) a+b#define FUN2(a,b) a-b#define CAL(a,b) a*b+a+3main(){printf("%d\n",CAL(FUN1(3,5),FUN2(4,5)));}三、修改程序(在程序出错的语句下划横线并标号,把修改后的语句写在程序之后的横线上。
每小题5分,共10分)1.下列给定程序的功能就是:读入一个整数(2<=k<=10000),打印它的所有质因子(即所有为素数的因子)。