C程序期中测试卷
C语言程序设计期中试卷
![C语言程序设计期中试卷](https://img.taocdn.com/s3/m/264970a59a89680203d8ce2f0066f5335b816743.png)
C语言程序设计期中试卷C 语言程序设计期中试卷一、填空题(本大题30空,每空1分共30分)1、C 语言中的基本数据类型包括、、三种。
2、C 语言中的逻辑运算符有、、三种。
3、若a =4,b =5,则! a & &b 的值为,b&&03的值为。
4、设a =10,则表达式a +=a -=2*3的值为。
5、设i =5,执行z =-i --后,z 的值为,i 的值为。
6、定义一个4行5列的整型数组VB 的方法。
7、定义int num[]={1,2,3,4,5},*p =&num[1],则表达式*p+3的值为, *(p+3)的值为。
8、设char str[10]="China",strlen(str)的值为。
9、逗号表达式a =b =3,6*a 的值为。
10、将算术表达式31лR2·h 书写为C 语言表达式。
11、用宏TB 来定义3.14 。
12、循环for (i=2;i<=12;i =i+2)结束后,i 的值为。
13、数组char b[15]表示它有个字符元素。
14、在C 语言中没有专为存储字符串的变量,但可以用字符型数组或存储字符串。
15、C 语言文件存储在磁盘上有两种形式,一种是按存储,另一种是按存储。
16、在C 语言中,变量的存储类别有四种,它们分别是自动变量、外部变量、和寄存器变量,其中自动变量又称为。
17、若有int a=10,b=5;则c=++a -b --;的值为。
18、定义一个数组int b[14],则b 数组一共有个元素,数组的最后一个元素是。
19、若有int a[10],*p ;p=&a[2];则后面语句使用*p 时是在引用。
20、表达式2sin30°的C语言表达式为。
二、选择题(本大题共20小题,每题2分,共40分)1、设i=6,则执行j=i++; j=++i后,j的值为()A、7B、8C、6D、92、设x=2.5,a=4,y=7,则表达式x+a%3*(int)(x+y)%2/4的值为( )A 、3.5B 、4C 、2D 、2.53、下面的指数形式正确的是()A 、4.6EB 、E+4C 、1.23E-10 D、4.3E6.84、指出下列非法的赋值语句()A 、z=(a>b)?a:b;B、I=++(I+J);C、y=y*(z+1);D、unsigned z=45.67;5、设x=4, y=5, z=2, 则表达式(x< p="">A 、0 B、1 C 、4 D 、56、下列正确的语句是()A 、int * p; p=&(a+b);B 、y : =(a<="" p="">C、for(i=0 , i<=5,i++);D、int a,b=3;7、初始化字符数组char str[ ]=“A book”,则可确定数组的长度为()A 、6B 、7C 、8D 、98、函数strlen(“ab c\de\”)的值为( )A 、6B 、10C 、5D 、89、设i=1 ; 则循环while(i++<5)结束后,i的值为()A 、4B 、5 C、6 D 、710、初始化数组int val[3] [3]={{1},{2,3},{3}}则val[1][1]的值为()A 、1B 、2 C、3 D 、{2,3}11、在C语言程序中,main函数的位置()A.、必须作为第一个函数B、必须作为最后一个函数C、可以任意D、必须放在它所调用的函数之后12、下列不合法的常量是()A、"program"B、- e8C、0x35D、12313、C语言中的基本数据类型所占存储空间长度的大小顺序是()A、char<=int<=float<=double<=longB、int<=char<=float<=long<=doubleC、int <= long <=float<=double<= charD、char<=int<=float<=long<= double14、在C语言中,要求当a的值为奇数时,表达式的值为“真”,a的值为偶数时为“假”。
c程序设计期中考试题及答案
![c程序设计期中考试题及答案](https://img.taocdn.com/s3/m/14391e530a4c2e3f5727a5e9856a561252d321dd.png)
c程序设计期中考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是()。
A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B3. 在C语言中,以下哪个选项是正确的字符串字面量?()A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. 'Hello, World!'答案:A4. 若有以下代码段:```cint a = 10, b = 20;a =b = a + b;```则变量a的值是()。
A. 10B. 30C. 20D. 无法确定答案:B5. C语言中,哪个函数用于计算并返回字符串的长度?()A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个是正确的二维数组声明?()A. int array[3][4];B. int array[][];C. int array[3][];D. int array[4,3];答案:A7. C语言中,以下哪个是正确的函数声明?()A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A8. 下列哪个选项是C语言中的逻辑运算符?()A. &&B. ||C. !D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的条件语句?()A. if (condition) { statement1; } else { statement2; }B. if (condition) statement1; else statement2;C. if (condition) statement1; if (condition) statement2;D. if (condition) { statement1; statement2; }答案:A10. C语言中,以下哪个选项是正确的循环语句?()A. for (int i = 0; i < 10; i++) { /* code */ }B. while (condition) { /* code */ }C. do { /* code */ } while (condition);D. 以上都是答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是()。
C语言期中试卷
![C语言期中试卷](https://img.taocdn.com/s3/m/bf4980e3900ef12d2af90242a8956bec0975a5b8.png)
C语言程序设计期中考试卷一、选择题1.下面程序段的运行结果是 ..forx=3; x<6; x++ printfx%2 “%d”: “%d\n”; x;A.3 4 5B.345C.345D.3452.下面程序的运行结果是 .. include<stdio.h>int main{int i;fori=1; i<=5; i++switchi%5{case 0: printf"";break;case 1: printf"";break;default: printf"\n";case 2: printf"&";} return 0;}A.&&& B.& & &C.&&&D.&3.下面程序的功能是求算式xyz+yzz=532中的x;y;z的值其中xyz和yzz分别表示一个三位数;请选择填空..include <stdio.h>int main{ int x;y;z;I;result=532;forx=1;x<10;x++fory=1;y<10;y++for ; z<10; z++{ i=100x+10y+z+100y+10z+z;ifprintf“x=%d;y=%d;z=%d\n”;x;y;z;}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=yA2.i/result==1 B2.i=result C2.i=result D2.i==result 4.以下正确的描述是 ..A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出;只能使用goto语句5.在下面的程序中; ..include<stdio.h>int main{int t;x;fort=1;t<=100;t++{scanf"%d";&x;ifx<0 continue;printf"%3d";t;}return 0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是 ..forn=100; n<=200; n++{ ifn%3==0 continue;printf“%4d”;n;}A.forn=100; n%3 && n<=200; n++ printf“%4d”;n; B.forn=100; n%3 || n<=200; n++ printf“%4d”;n; C.forn=100; n<=200; n++ ifn%3=0 printf“%4d”;n; D.forn=100; n<=200; n++{ifn%3 printf“%4d”;n;else continue;break;}7.下面程序的运行结果是 ..include <stdio.h>int main{ int a;b;for a=1; b=1; a<=100; a++{ ifb>=20 break;ifb%3= =1 {b+=3;continue;}b - =5;}printf“%d\n”;a;return 0;}A.7 B.8 C.9 D.10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环..请填空..int n=0; c;c=getchar ;while{ if n++;c=getchar}2. 有1020个西瓜;第一天卖一半多两个;以后每天卖剩下的一半多两个;下面的程序统计买完所需的天数;请填空..include <stdio.h>int main{ int day=0; x1=1020; x2;while{ x2= ;x1=x2;day++;}printf“day=%d\n”;day;return 0;}3. 当运行以下程序时;从键盘键入right<回车>;则下面程序的运行结果是 ..include<stdio.h>int main{char c;whilec=getchar ='' putchar++c;putchar'\n';return 0;}4. 下面程序的运行结果是 ..include<stdio.h>int main{int a=2;s=0;n=1;count=1;whilecount<=7 {n=na;s=s+n;++count;}printf"s=%d\n";s;return 0;}5. 当运行以下程序时;从键盘输入“China<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{int v1=0;v2=0; char ch;whilech=getchar =''switchch{case 'a':case 'h':default: v1++;case 'o': v2++;}printf"%d;%d\n";v1;v2;return 0;}6. 下面程序段中循环体的执行次数是 ..a=10; b=0;do { b+=2; a-=2+b;}whilea>=0;7. 下面程序段的运行结果是 ..x=2;do { printf“”; x--; } whilex= =0;8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2;用5除余3;用7除余2”的数;且一行只打印5个数;请填空..include <stdio.h>int main{ int i=1;j=0;do{ if{ printf“%4d”;i;j++;if printf“\n”;}i=i+1;} whilei<1000;return 0;}9. 当运行以下程序时;从键盘输入“1 2 3 4 5 -1<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{ int k=0;n;do{scanf"%d";&n;k+=n;}whilen=-1;printf"k=%d n=%d\n";k;n;return 0;}10. 下面程序的运行结果是 ..include<stdio.h>int main{int i=0;x=0;y=0;do{++i;ifi%2=0 {x=x+i;i++;}y=y+i++;}whilei<=7;printf"x=%d;y=%d\n";x;y;return 0;}11. 下面程序段是找出整数的所有因子..请填空..include<stdio.h>int main{int x;i;scanf"%d";&x;i=1;for ; ;{ifx%i==0 printf"%3d";i;i++;} return 0;}12. 鸡、兔共有30只; 脚共有90个;下面程序段是计算鸡兔各有多少只;x 代表有多少只鸡;y代表有多少只兔子;请填空完成程序..forx=1; x<=30; x++{y=30-x;if printf“%d;%d\n”;x;y;}13. 下面程序段的运行结果是 ..fora=1;i=-1; -1<=i<1; i++{ a++; printf“%2d”;a;}printf“%2d”;i;14. 下面程序的功能是1-3+5-7+……-99+101的值..请填空..include<stdio.h>int main{int i;t;s=0;q=1;fori=1;i<=101;i+=2{t= ; s=s+t; q= ;}printf"%d\n";s;return 0;}15. 以下程序的功能是根据公式e=1+1/1+1/2+1/3+……;求e的近似值;精度要求为10-6..请填空..include<stdio.h>int main{int i; double e;n;; n=1.0;fori=1; ;i++{n/=i;e+=n;}printf"e=%f\n";e;return 0;}16. 下面程序的运行结果是 ..include<stdio.h>int main{int i;fori=1;i<=5;i++switchi%2{case 0: i++; printf"";break;case 1: i+=2; printf"";default: printf"\n";}return 0;}17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数..请填空..include<stdio.h>int main{int n=0;i;j;k;fori=1;i<=9;i++fork=0;k<=8;ifk=iforj=0;j<=9;j++if{printf"%d\n";i100+j10+k;n++;}printf"n=%d\n";n;return 0;}18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数..请填空..include<stdio.h>int main{ int n;k=1;s=0;m;forn=1;n<=100;n++{k=1;s=0;;while{k=m%10;s+=m%10;;}ifk>s printf"%5d";n;}printf"\n";return 0;}三、编程题1.打印出以下图形10’s u s2.有三个数a、b、c;由键盘输入;输出其中第二大的数..12’3.编写一个程序;求s=1+1+2+1+2+3+…+1+2+3+…+n的值..15’4.输入一批非0数;直到输入0时为止;计算其中奇数的平均值和偶数的乘积..15’5.有一口深度为h米的水井;井底有一只青蛙;它每天白天能够沿井壁向上爬m米;夜里则顺井壁向下滑n米;若青蛙从某个早晨开始向外爬;试编写一个函数:对于任意指定的h;m;n值均为自然数;计算青蛙多少天能够爬出井口15’。
C程序设计期中测验试题
![C程序设计期中测验试题](https://img.taocdn.com/s3/m/170549cb770bf78a65295454.png)
二.完成下列各题
1.下面这个程序用于读入5个整数,当程序读入的数据n为正整数时,则显示该数,请补充程序。(5分)
#include <stdio.h>
voidmain()
{int i=1, n;
while(i<=5)
{
printf("Please enter n:");
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
A2.C语言中运算对象必须是整型的运算符是。
n=n/2;
printf("/2=%d\n",n);
}
}while(n!=1);
return 0;
}
5.从键盘输入一个整数,统计该数的位数。例如:输入1234,输出4。
答案代码:
#include <stdio.h>
main()
{
int n,i=0;
printf("请输入一个自然数:");
scanf("%d",&n);
答案代码:
#include <stdio.h>
int main()
{
int n;
printf("请输入一个自然数:");
scanf("%d",&n);
do{
if(n%2==1)
C期中考试(含答案)
![C期中考试(含答案)](https://img.taocdn.com/s3/m/08b84eeb770bf78a652954a9.png)
计算机基础(二)期中考试卷(含答案)一、选择题(1-15题每题2分,16-25题每题3分,共60分)(1)下列常数中不能作为C语言常量的是【B】A)0xabc B)2.5e-0.2 C)32 D)0747 (2)下列可用于C用户标识符的一组是【B】A)void, define, WORD B)a3_b3, _123, CarC)For, -abc, IFCase D)2a, DO, sizeof(3)C语言中运算对象必须是整型的运算符是【A】A)%= B)/ C)= D)<=(4)已知int x=10, y=3;则执行该语句printf("%d,%d\n",x--,--y);的输出结果是【D】A)10,3 B)9,3 C)9,2 D)10,2(5)short型的数据长度为2个字节,则unsigned short 类型数据的取值范围是【C】A)-127~128 B)0~255 C)0~65535 D)0~32768 (6)已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z 的值为【B】A)0 B)1 C)4 D)5(7)已知int x=5,y=3;则表达式(x||y)&&78的结果为【A】A)1 B)0 C)5 D)78(8)已知int x=1,y=1;表达式(!x||y--)的值是【B】A)0 B)1 C)2 D)-1(9)已知int i,j;则内循环体的执行次数是【C】for(i=6;i;i--)for(j=0;j<5;j++);A)40 B)35 C)30 D)25(10)已知int x,i,j,k;则计算表达式x=(i=4,j=16,k=32)后,x的值为【C】A)4 B)16 C)32 D)52(11)下列程序段执行后,x的值为【D】int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');A)ture B)false C)0 D)1(12)下列表达式中,结果为5的是【B】A)6*5%6 B)5*-2+15 C)5+75%10 D)6+-2/3 (13)已知int k=10;则下列程序的输出结果为【B】do{printf("%d",k--);}while(!k);A)9 B)10 C)10987654321 D)没有输出(14)对以下程序段的描述,正确的是【C】x=-1;do{x=x*x;}while(!x);A)是死循环 B)循环体执行两次C)循环体执行一次 D)有语法错误(15)已知int i,j;则for(i=j=0; i<10&&j<8; i++,j+=3);控制的循环体执行的次数是【C】A)9 B)8 C)3 D)2(16)以下程序输出结果是【A】#include <stdio.h>int main(void){int a=10,b=50,c=30;a=a>30?1:2;b=b>30?1:2;c=c>30?1:2;printf("%d,%d,%d\n",a,b,c);return 0;}A)2,1,2 B)1,2,1 C)1,1,2 D)2,1,1 (17)下列程序的输出结果是【D】#include <stdio.h>int main(void){int a=45,b=40,c=50,d;d=a>30?b:c;switch(d){case 30: printf("%d,",a);case 40: printf("%d,",b);case 50: printf("%d,",c);default: printf("#");}return 0;}A)40,50 B)50,# C)40,# D)40,50,# (18)下列程序的输出结果是【B】#include <stdio.h>int main(void){int a=10,b=10,k;for(k=0;a>8;b=++k)printf("%d,%d,",a--,--b);return 0;}A)10,9,9,8, B)10,9,9,0,C)10,10,9,1, D)9,9,9,1,(19)下列程序的输出结果是【B】#include <stdio.h>int main(void){int a,b,m;for(a=5;a>=1;a--)for(m=0,b=a;b<=5;b++)m=m+a*b;printf("%d\n",m);return 0;}A)30 B)15 C)20 D)1(20)下列程序的输出结果是【A】#include <stdio.h>int main(void){char c;c=('z'-'a')/2+'A';putchar(c);return 0;}A)M B)N C)O D)Q(21)下列程序的输出结果是【D】#include <stdio.h>int main(void){int k=8;switch(k){case 9:k+=1;case 10:k+=1;case 11:k+=1;break;default:k+=1;}printf("%d\n",k);return 0;}A)12 B)11 C)10 D)9(22)下列程序的输出结果是【B】#include <stdio.h>int main(void){int i=6;while(i--)printf("%d",--i);printf("\n");return 0;}A)531 B)420 C)654321 D)死循环(23)下列程序的输出结果是【C】#include <stdio.h>int main(void){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);return 0;}A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 (24)下列程序的输出结果是【C】#include <stdio.h>int main(void){float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf("%.2f\n",y);return 0;}A)0.00 B)0.25 C)0.50 D)1.00(25)执行下列程序从键盘上输入5,2,则输出结果是【C】#include <stdio.h>int main(void){int a,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b) k=a%b;else k=b%a;printf("%d\n",k);return 0;}A)5 B)3 C)2 D)0二、编程题(每题10分,共40分)(1)用户输入圆柱体半径r和高h,输出其体积V,要求输出结果小数点后保留2位有效数字。
《C程序设计》期中试题答案
![《C程序设计》期中试题答案](https://img.taocdn.com/s3/m/85d5496cddccda38366baf06.png)
共7页-第 6 页
} } 4. 如果 a 的因子和等于 b,b 的因子和等于 a,且 a〈〉b,则称 a,b 为亲密数对。 编程找出 10000 以内的亲密数来。
#include<stdio.h> void main() { int a,b,suma,sumb,i,count=0; printf("10000 以内的亲密数对:\n"); for(a=1;a<=10000;a++) { suma=0;sumb=0; for(i=1;i<=a/2;i++) if(a%i==0) b=suma; if(a>b) continue; suma=suma+i;
2
(7)
}while( (8) ); if(n>10000) break; n--; bits=0; a=n; while(a){bits++;a=a/10;} if(bits==2) { x=n%10;y=n/10;
(7): (8):
a=sqrt(n);
a*a!=n++
if((9)) printf("%6d",n); (9): } else if(bits==4) { x=n%100;y=n/100;
for ( k=1; k<=n; k++) printf(“%ld\n”, s); }
fun(k)
3、卡布列克数,定义为:若正整数 n 的可以分割为二个数,而这二个数相加后和 的平方恰好等于 n,那么 n 就是卡布列克数。例如 3025=55 ,而 30+25=55。 以下是找出 10000 以内的卡布列克数的程序,请将空白处补上。 #include <stdio.h> #include <math.h> void main ( ) { long n,x,y,a,b,bits; for(n=16;n<=10000;n++) { do { if(n>10000) break;
《C语言程序设计》期中考试试卷
![《C语言程序设计》期中考试试卷](https://img.taocdn.com/s3/m/06103c67cf84b9d528ea7a30.png)
淮海工学院10 – 11 学年第 2 学期 C语言程序设计期中考试试卷单项选择题答题表题答题表中)1.以下叙述中正确的是()。
A) C 程序的基本组成单位是语句B) C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D) C 语句必须在一行内写完在2.一个C程序是由____________。
A)一个主程序和若干个子程序构成B)一个或多个函数构成C)若干过程组成D)若干子程序组成3.以下选项中正确的定义语句是____________。
A)double a; b;B)double a=b=7;C)double a=7, b=7;D)double, a, b;4.计算机能直接执行的程序是()。
A)C源程序B)目标程序C)汇编程序D)可执行程序5.下列符号可以作为变量名的是____________。
A)+aB)*pC)_DAYD)next day6.设c是字符变量,则以下表达式正确的是____________。
A)c=666B)c='c'C)c="c"D)c="abcd"7.以下说法正确的是____________。
A)输入项可以为一个实型常量,如scanf("%f", 3.5)B)只有格式控制没有输入项也能进行正确输入,如scanf("%d")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);C)scanf("%D%D%D", a, b, c);D)scanf(%d%d%d", &a, &b, &c);9.若有if (w) –x; else ++y; 则其中与w 等价的表达式是____________。
C语言程序设计期中测试
![C语言程序设计期中测试](https://img.taocdn.com/s3/m/fbfd4109d15abe23492f4d4b.png)
C语言程序设计期中测试(lxy )班级 ______ 姓名 _______ 学号____________ 专业——————一、选择题( 4*14=56)各题目只有唯一的正确答案。
请认真做答。
以下符合 C语言语法的实型常量是CA) 1.2E0.5B) 3.14.159E C) .5E-3D) E15以下 4 组用户定义标识符中,全部合法的一组是AA) _main B) If C) txt D) intenclude-max REAL k_2sin turbo3COM_001若以下选项中的变量已正确定义,则正确的赋值语句是CA) x1=26.8%3B) 1+2=x2C) x3=0x12D)x4=1+2=3;设有以下定义Dint a=0; double b=1.25; char c= ’A’; #define d 2则下面语句中错误的是A) a++;B) b++C) c++;D) d++;设有定义: float a=2,b=4,h=3;,以下 C 语言表达式与代数式(a b ) * h2计算结果不相符的是 BA) (a+b) *h/2B) (1/2)*(a+b) *hC) (a+b) *h*1/2D) h/2*(a+b)有以下程序main( ){ int x=102,y=012;printf( “%2d,%2d\n” ,x,y);}执行后输出结果是 CA) 10,01B) 02,12C) 102,10D)02,10以下 4 个选项中,不能看作一条语句的是DA) {;}B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;有以下程序main(){ char a='a',b;print("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是A) b,b B) b,c C)a,b D) a,c 若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10B) x-y>-10&& x-y<10C)(x-y)<-10||!(y-x)>10D) (x-y)*(x-y)<100有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf(“ %c”,&k);switch(k){ case‘0’ : printf(“another\n” );case‘1’ : printf(“number\n”);}}}程序运行时,从键盘输入:01<回车 >,程序执行后的输出结果是A) another B) another C) another D) numbernumber number number numberanother number有以下程序main( ){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf(“ %d,%d,%d\n”,x,y,z);}程序执行后的输出结果是A) 3,2,0B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5有以下程序main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf(“ %d\n”,s);}程序执行后的输出结果是A) 自然数 1~ 9 的累加和B) 自然数 1~ 10 的累加和C) 自然数 1~ 9 中的奇数之和D) 自然数 1~ 10 中的偶数之和有以下程序main( ){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf(“n=%d\n” ,n);}程序执行后的输出结果是A) n=5B) n=2C) n=3D) n=4下面程序的功能是输出以下形式的金字塔图案是:****************main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)printf(“ “);for(j=1;j<=_______;j++)printf(“*”);printf(“ \n ”);}在下划线处应填入的是A) i B) 2*i-1C) 2*i+1D) i+2二、填空题( 4*5=20)已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是char ch= ’B’;printf( “ %c %d\n”,ch,ch);有以下语句段int n1=10,n2=20;printf(“”,n1,n2);要求按以下格式输出n1 和n2 的值,每个输出行从第一列开始,请填空。
c程序设计期中试题及答案
![c程序设计期中试题及答案](https://img.taocdn.com/s3/m/af01ee4730b765ce0508763231126edb6f1a761f.png)
c程序设计期中试题及答案一、选择题1. C语言中,下列哪个关键字可以声明常量?A. constB. staticC. externD. volatile答案:A. const2. 下列关于指针的说法中,错误的是?A. 指针保存的是变量的地址B. 指针变量必须在使用之前初始化C. 指针可以指向一个函数D. 指针占用的内存空间和指针指向的数据类型有关答案:B. 指针变量必须在使用之前初始化3. 下列循环结构中,哪个语句是用于结束当前循环,进入下一轮循环的?A. breakB. continueD. goto答案:B. continue4. 下列C语言中的标准库函数中,不属于输入输出函数的是?A. printf()B. scanf()C. gets()D. malloc()答案:D. malloc()5. C语言中,以下哪个运算符的优先级最高?A. =B. &&C. *D. ?:答案:D. ?:二、填空题1. 编写一个函数,判断一个数是否为质数。
函数原型为:int isPrime(int num);```cint isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i < num; i++) {if (num % i == 0) {return 0;}}return 1;}```2. 填写以下代码的输出结果:```c#include <stdio.h>int main() {char str[] = "Hello";printf("%d\n", sizeof(str));printf("%d\n", strlen(str));return 0;}```答案:85三、编程题1. 编写一个C程序,实现将一个字符串中的小写字母转换为大写字母的功能。
c语言期中测试
![c语言期中测试](https://img.taocdn.com/s3/m/864c21a40029bd64783e2ca1.png)
线封密《c语言期中测试》试卷一、单选题(每题1分,共80分)1、以下程序的正确运行结果是______。
#include <stdio.h>void num(){ extern int x,y ; int a=15,b=10;x=a-b;y=a+b;}int x,y;main(){ int a=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}A、1,12B、不确定C、5,25D、12,2参考答案:C2、以下正确的函数定义形式是______。
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);参考答案:C3、在C语言程序中______。
A、函数的定义和函数的调用均不可以嵌套B、函数的定义可以嵌套,但函数的调用不可以嵌套C、函数的定义和函数的调用均可以嵌套D、函数的定义不可以嵌套,但函数的调用可以嵌套参考答案:D4、以下对C语言函数的有关描述中,正确的是______。
A、C程序中,有调用关系的所有函数必须放在同一个源程序文件中B、C函数既可以嵌套定义,又可以递归调用C、函数必须有返回值,否则不能定义成函数D、调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参参考答案:D5、决定c语言中函数返回值类型的是______。
A、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)B、调用该函数的主调函数类型C、调用函数时临时指定的类型D、return语句中的表达式类型参考答案:A6、设有函数调用语句"f(x1,x1+x2,(x1,x2));",正确的说法是______。
A、调用时会出现语法错误。
B、调用的实际参数是3个C、调用的实际参数是4个D、调用的实际参数是2个参考答案:B7、下面程序的输出结果是______。
大一c语言期中考试题和答案豆丁网
![大一c语言期中考试题和答案豆丁网](https://img.taocdn.com/s3/m/d53c6b66b42acfc789eb172ded630b1c58ee9b33.png)
大一c语言期中考试题和答案豆丁网C语言期中考试试卷一、选择题(每题2分,共40分)1. 以下哪个选项是C语言的关键字?A. intB. integerC. INTD. Integer答案:A2. C语言中,哪个函数用于计算并返回两个整数相加的结果?A. add()B. sum()C. plus()D. addint()答案:B3. 在C语言中,以下哪个是正确的字符串定义?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误,字符串长度超过数组大小D. char str[] = "Hello";答案:D4. C语言中,以下哪个是正确的二维数组定义?A. int array[2][3] = {{1, 2, 3}, {4, 5, 6}};B. int array[2][3] = {1, 2, 3, 4, 5, 6};C. int array[2][3] = {{1, 2, 3}, {4, 5, 6, 7}}; // 错误,数组元素不匹配D. int array[2][3] = {1, 2, 3, 4, 5, 6, 7}; // 错误,数组元素不匹配答案:A5. C语言中,以下哪个是正确的函数定义?A. int func(int a, int b) { return a + b; }B. int func(int a; int b) { return a + b; } // 错误,分号使用不当C. int func(int a, int b) { return a - b; }D. int func(int a, b) { return a + b; } // 错误,b未指定类型答案:A6. C语言中,以下哪个是正确的条件语句?A. if (a > b) then { /* code */ }B. if (a > b) { /* code */ }C. if a > b { /* code */ } // 错误,缺少括号D. if (a > b) then { /* code */ } // 错误,then关键字不正确答案:B7. C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i < 10; i++) { /* code */ }B. for i = 0 to 10 { /* code */ } // 错误,C语言中没有to关键字C. for (int i = 0; i < 10; i++) { /* code */ }D. for i = 0; i < 10; i++ { /* code */ } // 错误,缺少括号答案:C8. C语言中,以下哪个是正确的函数调用?A. func(5, 3);B. func(5; 3); // 错误,分号使用不当C. func(5, 3);D. func(5, 3);答案:A9. C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159; // 错误,宏定义中不应包含等号和分号C. #define PI 3.14159D. #define PI 3.14159答案:A10. C语言中,以下哪个是正确的结构体定义?A. struct Point { int x, y; };B. struct Point { int x; int y; };C. struct Point { int x, y; };D. struct Point { int x; int y; };答案:B11. C语言中,以下哪个是正确的指针定义?A. int *p;B. int *p;C. int *p;D. int *p;答案:A12. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. open()C. create()D. file()答案:A13. C语言中,以下哪个是正确的递归函数定义?A. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }D. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }答案:A14. C语言中,以下哪个是正确的枚举定义?A. enum Color { Red, Green, Blue };B. enum Color { Red, Green, Blue };C. enum Color { Red, Green, Blue };D. enum Color { Red, Green, Blue };答案:A15. C语言中,以下哪个是正确的联合体定义?A. union Data { int i; float f; char ch; };B. union Data { int i; float f; char ch; };C. union Data { int i; float f; char ch; };D. union Data { int i; float f; char ch; };答案:A16. C语言中,以下哪个是正确的位运算符?A. &B. |C. ^D. ~答案:D17. C语言中,以下哪个是正确的位段定义?A. struct BitFlags { unsigned int : 1; unsigned int flag2 : 1; };B. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };C. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };D. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };答案:B18. C语言中,以下哪个是正确的动态内存分配函数?A. malloc()B. alloc()C. new()D. mem()答案:A19. C语言中,以下哪个是正确的动态内存释放函数?A. free()B. dealloc()C. delete()D. mem()答案:A20. C语言中,以下哪个是正确的预处理指令?A. #includeB. includeC. #importD. import答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是 ________。
C语言期中测试(含答案)
![C语言期中测试(含答案)](https://img.taocdn.com/s3/m/e6ba9160172ded630a1cb60d.png)
C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。
c语言期中考编程试题及答案
![c语言期中考编程试题及答案](https://img.taocdn.com/s3/m/9bceff9c05a1b0717fd5360cba1aa81144318fd4.png)
c语言期中考编程试题及答案C语言期中考编程试题及答案1. 编写一个C程序,实现以下功能:- 定义一个整数数组,包含5个元素。
- 计算数组中所有元素的和。
- 计算数组中所有元素的平均值。
- 输出数组的和以及平均值。
答案:```c#include <stdio.h>int main() {int array[5] = {10, 20, 30, 40, 50};int sum = 0;float average;// 计算数组元素的和for (int i = 0; i < 5; i++) {sum += array[i];}// 计算数组元素的平均值average = (float)sum / 5;// 输出数组的和和平均值printf("Sum of array elements: %d\n", sum);printf("Average of array elements: %.2f\n", average);return 0;}```2. 编写一个C程序,实现以下功能:- 定义一个结构体`Student`,包含姓名(字符数组),学号(整数),和成绩(浮点数)。
- 创建一个`Student`类型的数组,包含3个学生。
- 计算所有学生的平均成绩。
- 输出每个学生的信息和平均成绩。
答案:```c#include <stdio.h>// 定义学生结构体struct Student {char name[50];int id;float score;};int main() {struct Student students[3] = {{"Alice", 1, 85.5},{"Bob", 2, 90.0},{"Charlie", 3, 78.5}float sum = 0;float average;// 计算所有学生的成绩总和for (int i = 0; i < 3; i++) {sum += students[i].score;}// 计算平均成绩average = sum / 3;// 输出每个学生的信息和平均成绩for (int i = 0; i < 3; i++) {printf("Student %d: Name: %s, ID: %d, Score: %.2f\n", i+1, students[i].name, students[i].id, students[i].score);}printf("Average Score: %.2f\n", average);return 0;}```3. 编写一个C程序,实现以下功能:- 定义一个函数`reverseString`,接受一个字符串作为参数,并将其反转。
C语言期中测试题(含答案)
![C语言期中测试题(含答案)](https://img.taocdn.com/s3/m/89a85f2b6f1aff00bfd51eaf.png)
一、 填空1.C 语言源程序文件的后缀是 .c 。
2.构造化程序由 顺序构造 、 选择构造 、 循环构造 三种根本构造组成。
3.在C 语言中,用关键字 int 定义根本整型变量,一个根本整型变量系统分配 2 字节,用关键字 float 定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。
二、 选择1. 以下选项中正确的实型常量是( A )A .12.B .-20C . 1,000D . 4 5 62.以下选项中不正确的实型常量是〔无正确答案〕A . 2.607E-1B .0.8103e2C . -77.77D . 456e-23. 以下选项中不合法的用户标示符是( C )A. _123 B .A12_1 C . A $ D .Dim4.C 语言中运算对象必须是整型的运算符是( A )A .%B ./C .!D .*5. 假设变量已正确定义并赋值,符合C 语言语法的表达式是( B )A .a=a+7 ;B .a=7+b+c,a++C . int(12.3%4)D .a=a+7=c+b6.下面合法的赋值语句是( C )A .a=b=58B .k=int(a+b)C . a=58,b=58D .--i7.假设变量已正确定义为int ,要给a,b,c 输入数据,正确的输入语句是( D )A .read(a,b,c)B .scanf(“%d%d%d 〞,a,b,c)C .scanf(“%D%D%D 〞,&a,&b,&c) D .scanf(“%d%d%d 〞,&a,&b,&c)8.假设变量a,b,t 已正确定义,要将a 和b 中的数进展交换,以下选项中不正确的语句组是( C )A .a=a+b,b=a-b,a=a-b;B . t=a,a=b,b=t;C .a=t;t=b;b=aD .t=b;b=a;a=t;9.假设有正确定义语句:double x=5.16894;语句printf(“%f\n 〞,(int)(x*1000+0.5)/(double)1000);的输出结果是( D )A .输出格式说明与输出项不匹配,输出无定值B .C .!D .10. 假设有以下程序段:int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\\n 〞,a,b,c);执行后的输出结果是( B )A .3,0,-10B .0,0,5C .-10,3,-10D .3,0,311.以下运算符中优先级别最高的是( A )A . !B .%C .-=D .&&12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )A .(x>=y)&&(y>=z)B .(x>=y)AND(y>=x)C .(x>=y>=z)D .(x>=y)&(y>=z)13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,那么以下的表达式中值为0的表达式是( D )A.a&&b B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1) 14.有以下程序:#include<stdio.h>main(){ int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;printf(“%d\n〞,c);}程序的运行结果是( C )A.0 B.1 C.2 D.315.有以下程序:#include<stdio.h>main(){ int w=4,x=3,y=2,z=1;printf(“%d\n〞,(w<x?w:z<y?z:x));}程序的运行结果( A )A.1 B.2 C.3 D.416.有以下程序:main(){int a,b,s;scanf(“%d %d〞,&a,&b);s=a;if(a<b)s=b;s*=s;printf(“%d\n〞,s);}假设执行以上程序时从键盘上输入3和4,那么输出结果是( B )A.14 B.16 C.18 D.2017.有以下程序段:y=-1;if(x!=0)if(x>0) y=1;else y=0;其能正确表示的数学函数关系是( C )A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x yB .⎪⎩⎪⎨⎧>=-<=)0(0)0(1)0(1x x x yC .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x yD .⎪⎩⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y18.假设有定义语句int a, b ;double x ;那么以下选项中正确的选项是( C )A .switch 〔x%2〕B .switch 〔〔int 〕x/2.0){case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C .switch 〔〔int 〕x%2〕D .switch 〔〔int 〕〔x 〕%2〕{case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }19.有以下程序段:int k,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n 〞,s);程序段的输出结果是( D )A .9B .1C .11D .1020.有以下程序段:int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n 〞,m);程序段的输出结果是( C )A .12B .15C .20D .2521.有以下程序段:int n=10;while(n>7){ n--;printf(“%d\n 〞,n);}程序段的输出结果是( B )A.10 B.9 C.10 D.99 8 9 88 7 8 77 622.有以下程序段:int x=3;doprintf(“%3d〞,x-=2);while(!(--x));程序段的输出结果是( C )A.1 B.3 0 C.1 -2 D.死循环23.有以下程序:main(){int i,sum;for(i=1;i<=6;i++)sum+=sum;printf(“%d\n〞,sum;);}程序的输出结果是( C )A..15 B.14 C.不确定D.024.有以下程序:#include<stdio.h>main(){int i;for(i=1;i<=5;i++){if(i%2)printf(“*〞);elsecontinue;printf(“#〞);}pintf(“$\n〞);}程序的输出结果是( A )A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 25.有以下程序:#include<stdio.h>main(){ int x,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d〞,x);}printf(“\n〞);}程序的输出结果是( A )A.28 70 B.42 84 C.26 68 D.39 81【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】。
C程序设计基础_期中考试试题详解
![C程序设计基础_期中考试试题详解](https://img.taocdn.com/s3/m/cd73b9f7d5bbfd0a795673ec.png)
《C程序设计基础及实验》课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)1.以下正确的字符常量是______。
A.’\412’B.255 C.’\08’D.’\’【解答】A.八进制412超出了8位二进制所能表示的范围03ff;B.255是一个合法的整数,可以表示一个字节的值;C.8不是一个合法的八进制数字;D.\是转义字符,\’表示单个单引号字符本身,所以。
字符常量缺少右单引号。
2.假设有定义:float x=16/5/2.0, y=16/5.0/2; 则 x 和 y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5【解答】16/5/2.0 → (16/5)/2.0 → 3/2.0 → 1.516/5.0/2 → (16/5.0)/2 → 3.2/2 → 1.63.下列语句中, _____ 将输出%d。
A.printf(“%d ”); B.printf(“%%d”);C.printf(“\%d”);D.printf(“%%%d”)【解答】A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D.%%表示输出符号%本身,%d表示输出十进制整型值。
4.下列程序段输出结果为 _____。
int x=1, y=012;printf(“%d”,y*x++);A.12 B.10 C.20 D.24【解答】x++表达式的值是1,y*x++ → y*1 → y → 012 → 105.下列程序段输出结果为 _____。
int a=1,b=2,c=2,t;. .专业.知识.分享. .. .专业.知识.分享. .while(a<b<c) { t=a; a=b; b=t; c--; }printf(“%d,%d,%d”,a,b,c);A .1,2,0B .2,1,0C .1,2,1D .2,1,1【解答】a=1,b=2,c=2(1) 表达式a<b<c → 1<2<2 → 1 < 2 → 1条件成立,则执行循环体,结果为:a=2,b=1,c=1(2) 表达式a<b<c → 2<1<1 → 0 < 1 → 1条件成立,则执行循环体,结果为:a=1,b=2,c=0(3) 表达式a<b<c → 1<2<0 → 1 < 0 → 0条件不成立,循环结束。
C语言程序设计期中测试(参考)
![C语言程序设计期中测试(参考)](https://img.taocdn.com/s3/m/65609a5f8f9951e79b89680203d8ce2f0066656d.png)
C语言程序设计期中测试(参考)C 语言程序设计期中测试题姓名_______ 学号________一、选择题:(单选, 1分/题, 共20分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 122. 下列变量定义中合法的是A) double _a=1-.le-1; B) int b=1+5e2.5; C) long do=3e5; D) float2_and=1-e-3;3. 设 int x=1, y=1; 表达式( !x||y-- )的值是A) 0 B) 1 C) 2 D) –14. 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b++ B) b=2++ C) int 18.5%3 D) a+=c+b5. C语言中运算对象必须是整型的运算符是A) <= B) / C) = D) %=6. 设有说明语句:char a=’\72’; 则变量aA) 说明不合法 B) 包含2个字符 C) 包含3个字符 D) 包含1个字符7. 以下所列的C语言常量中,错误的是A) 0xFF B )1.2e0.5 C ) 2L D ) '\t'8. 下列选项中,可作为C语言变量名是A) y-3 B ) 4_x C ) include D ) x1..9. 若int a=3; 则执行完表达式a+=a-=a*a后,a的值是A)-3 B )9 C )-12 D )610. 在C语言中,合法的长整型常数是A) 12L B) x496271 C) 324562& D) 216D11. 以下选项中合法的字符常量是A)"B" B) '\182' C) 68 D) ‘\’’12. 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) 3+=x;13. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D)10,214. 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'15. 以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E16. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) 非法的常量17. 以下选项中,与k=n++完全等价的表达式是_______。
C语言期中机考试卷及答案
![C语言期中机考试卷及答案](https://img.taocdn.com/s3/m/e0d8b7dd5022aaea998f0f6c.png)
C语言期中测试(解压缩后运行examstar.exe,密码426008)一、单项选择题(30分,每题3分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。
1.一个C语言程序执行时总是从【______】开始。
DA. 主程序B. 子程序C. 函数D. 主函数2.下列标识符中,_______是关键字。
CA)Int B)INTC)int D)printf3.下列用户自定义标识符中,_______是正确的。
BA)long B)LongC)data.1 D)while4.以下能正确定义整型变量a、b、c的是_______。
BA)a,b,c; B)int a, b, c;C)float a, b, c; D)int a; b; c;5.下面正确的输入语句是______。
BA)scanf("a=b=%d",&a,&d); B)scanf("%d,%f",&a,&b);C)scanf("%a", a); D)scanf("%f", f);6.下面程序的输出结果是【______】。
B#include "stdio.h"void main(void){int i,sum1=0,sum2=0;for(i=1;i<10; i++)if( i%2==0 ) sum1+=i;else sum2+=i;printf("%d%d\n",sum1,sum2);}A. 5050B. 2025C. 20D. 257.下面程序的输出结果是【______】。
CA. YesB. NoC. NoYesD. YesNo #include "stdio.h"void main(void){char str[]="stdiopidts";int i, n=0;while(str[n])n++;for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){printf("No");break;}printf("Yes");}8.完善程序求输入的十个整数中正数的个数及其和、平均值:【______】。
C语言期中测试A卷
![C语言期中测试A卷](https://img.taocdn.com/s3/m/ce46e420366baf1ffc4ffe4733687e21af45fff3.png)
一、选择题 ( 15×2分 = 30分)1. 若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c 大于0)s = a;for( b=1; b<=c ; b++) s = s+1; 则与上述程序段功能等价的赋值语句是 。
A. s=a+b;B. s=a+c;C. s=s+c;D. s=b+c; 2. 以下选项中不能用作变量名的是 。
A._float B.switch C.sum D._1233. 若有说明:int a[10];则对数组元素的正确引用是 。
A.a[10] B.a[3.5] C.a(5)D.a[10-10]4. 若有声明“float f=123.45678;”,则执行语句“printf( "% .0f",f );”后,输出结果是 。
A. 123B. 1.23e+02C. 123.0D. 123.456780 5. 数学式a b2在C 程序中错误的表示形式为 (5) 。
A. 2*b/sqrt(a) B.(2*b)/sqrt(a)C. 2b/sqrt(a) D.2*(b/sqrt(a))6. 若a, b, c 均为int 型变量且有值,要交换变量a 和b 的值,正确的是 。
A.c=a, a=b, b=c; B.a=b; b=a;C.c=a; a=b; b=c ; D.c=a; b=a; a=c;7. 若有声明“char str[ ]="Hello!";”,则sizeof(str)的值是 。
A.8 B.7 C.6 D.1 8. 以下叙述中正确的是 。
A.C 程序中注释部分可以出现在程序中任意合适的地方B.花括号"{"和"}"只能作为函数体的定界符C.构成C 程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C 语句之间的分隔符,不是语句的一部分9. 以下叙述中正确的是 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江科技学院考试试卷浙江科技学院2015 - 2016学年第 2 学期 期中考试试卷 A 卷考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2016年 5月5日 建工 学院 2015 年级 理工科 专业命题:说明:1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;2. 考试完成后,必须将试卷与答卷同时交回。
一、判断题(本大题共12小题,每题小1分,共12分)1. 在定义数组时,数组的长度可以用整型常量或者整型变量表示。
2. 执行“int x=3,y=4; float z ;z=x/y;”后,z 的值为0.75。
3. C 语言中,关系表达式的值是1和0,分别表示“真”和“假”。
4. else 语句一定要与if 语句配对使用,程序中else 语句的个数一定小于或者等于if 语句的个数。
5. C 语言是一种结构化程序设计语言,结构化程序由顺序、选择、循环三种基本结构组成。
6. 并联电阻的计算公式 2121R R R R +对应的C 语言表达式是R1*R2/R1+R2。
7. 字符常量…A ‟与字符串常量“A ”所占用的存储单元大小不同。
8. break 语句和continue 语句一样都只能用于循环语句。
9. 与语句“if(!x) y=1;”等价的语句是“if(x!=0) y=1;”。
10. 使用do ……while 语句实现循环时,不管条件真假,都将首先无条件的执行一次专业班 学 姓 ………………………………………………………………………装订线……………………………………………………………………………………循环。
二、单选题(本大题共20小题,每题1分,共20分)1.一个C程序总是从()开始执行。
A. 书写顺序的第一个函数B. 书写顺序的第一条执行语句C. 主函数main()D. 不确定2.程序设计一般包含以下4个步骤,其中首先应该完成的是()。
A. 设计数据结构和算法B. 建立数学模型C. 编写程序D. 调试运行程序3.以下不能..正确计算代数式2((0.5))3sin值的C语言表达式是()。
A. 1/3*sin(1/2)*sin(1/2)B. sin(0.5)*sin(0.5)/3C. pow(sin(0.5),2)/3D. 1/3.0*pow(sin(1.0/2),2)4.下列语句执行后,变量n的值是()。
for(i=1;i<=3;i++){ n=1;n=n*i;}A. 1B. 3C. 4D. 65.对下列语句的描述正确的是()。
int i=1;do{ i++;}while(i=10);A. 执行后i的值是1B. 执行后i的值是2C. 执行后i的值是10D. 死循环6.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。
A. a>=10 or a<=0B. a>=0|a<=10C. a>=10 &&a<=0D. a>=10||a<=07.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。
A. 0B. 1C. 2D. 语法错误8.下列程序段不是..死循环的是()。
A. int i=100;while(1){ i=i%100+1;if(i>100)break;} B. int k=0;do{++k;} while(k>=0);C. for( ; ;);D. int s=36;while(s) ––s;9.已知int x=10, y=20, z=30;,以下语句执行后x、y、z的值是()。
if (x>y) z=x; x=y; y=z;A. x=10, y=20, z=30B. x=20, y=30, z=30C. x=20, y=30, z=10D. x=20, y=30, z=2010.请阅读以下程序:#include <stdio.h>void main(){ float a,b;scanf ("%f",&a);if(a<0.0) b=0.0;else if ((a<5.0) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/a;else b=10.0;printf("%f\n",b);}若运行时输入2.0<回车>,则上面程序的输出结果是()。
A. 0.000000B. 0.500000C. 1.000000D. 0.25000011.有以下程序段:int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 && n<3);此处do-while循环的结束条件是()。
A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或者n的值小于3D. p的值等于12345或者n的值大于等于312.有以下程序:#include <stdio.h>void main(){ int a=15,b=21,m=0;switch(a%3){ case 0: m++;break;case 1: m++;switch(b%3){ default:m++;break;case 0: m++;break;}}printf("%d\n",m);}程序运行后的输出结果是_()。
A. 1B. 2C. 3D. 413.已知int i,a;,执行语句i=(a=2*3,a*5),a+6; 后,变量i的值是()。
A. 6B. 12C. 30D. 3614.下列程序的输出结果是()。
#include<stdio.h>void main (){ int y;double d=3.4,x;x=(y=d/2.0)/2;printf("%0.2lf,%d",x,y);}A. 0.00,1B. 0.85,1.7C. 0.50,1D. 以上都不对15.有如下程序,执行后的输出结果是()。
#define M 3#define N M+1#define NN N*N/2main(){ printf(“%d\n”,NN);}A. 3B. 4C. 6D. 816.设x,y,i,j均为整型变量,且x=10,y=3,则执行i=x––; j= ––y;语句后,i和j的值是()。
A. 10,3B. 9,3C. 9,2D. 10,217.执行以下程序后,输出结果是()。
main(){ int y=11;while(--y){ y--;}printf(“%d\n”,y--);}A. -1B. 1C. 8D. 018.下列程序段的输出结果是()。
char c,k;c='b'; k=4;switch(c){ case 'a': k=1;case 'b': k=2;case 'c': k=3;}printf("%d ",k);A. 1B. 2C. 3D. 419.已知有如下的宏定义:“#define S x+y”,则下列语句执行后的输出结果是()。
int x=10,y=20;printf(“%d”,S*S);A. 900B. 230C. 420D. 14020.求0到50的总和,不正确...的程序段是()。
A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i; B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;} D. int i,sum=0;for(i=0; ;i++){ if(i>50) break;sum+=i;}三、程序填空题(本大题共4小题,每空2分,共24分)1.以下程序的功能是计算:s=1+12+123+1234+12345。
请填空。
#include <stdio.h>void main(){ int t=0,s,i;___(1)___;for( i=1; i<=5; i++) {t=i+__(2)___;s=s+t;}printf("s=%d\n",s);}(1) A. s=0 B. s=1C. int n=0D. int n=1(2) A. n B. n*10C. t*10D. t2.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。
请选择填空。
#include <stdio.h>void main(){ long int num;do {scanf("%ld",&num);if(___(3)___ ) printf("num=%ld\n",num);}while (___(4)___ );}(3) A. num%100/10==3 B. num/100%10==3C. num%10/10==3D. num/10%10==3(4) A. ! num B. num==0C. numD. num==13.下面程序运行后输入以-1结束的一批整数,输出其中的最大值。
例如:输入1 22 8 19 -1后,输出:22#include<stdio.h>void main(){ int max,x;scanf("%d",&x);if(x!=-1){____(5)____;while(____(6)____){if(max<x) max =x;____(7)____;}printf(" max=%d\n",max);}}(5) A. x=max B. max =xC. x++D. max=0(6) A. x!=-1 B. max>=0C. x==-1D. max!=-1(7) A. max=max+1 B. x=x+1C. scanf(“%d”,&x);D. else max =-14.输入一个整数,求它的各位数字之和及位数。
例如,17的各位数字之和是8,位数是2。
请填空。
运行示例:Enter an integer:-153sum = 9, count = 3#include <stdio.h>main(){int count = 0, data, sum = 0;printf("Enter an integer:");scanf("%d", &data);if(data < 0) data = -data;do{sum = sum +____(8)____;____(9)____;count++;}while(____(10)____);printf("sum = %d, count = %d\n", sum, count);}(8) A. data % 10 B. data mod 10C. data /10D. data(9) A. data = data % 10 B. data /10C. data = data /10D. data % 10(10) A. data % 10 != 0 B. data != 0C. !dataD. data / 10 != 0四、程序阅读题(本大题共6小题,每小题4分,共24分)1.下列程序的运行结果是()。