c语言试题月考
c语言三月份测试题目及答案
![c语言三月份测试题目及答案](https://img.taocdn.com/s3/m/f6206db485254b35eefdc8d376eeaeaad1f316c2.png)
c语言三月份测试题目及答案1. 题目:以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 题目:C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 题目:以下哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World"D. "Hello\nWorld"答案:A4. 题目:在C语言中,以下哪个运算符用于比较两个变量是否不相等?A. ==B. !=C. <=D. >=答案:B5. 题目:C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B6. 题目:在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. int array=10;答案:A7. 题目:C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if(x > y)D. if x > y答案:A8. 题目:在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. while (i < 10)C. do-while (i < 10)D. for i = 0 to 10答案:A9. 题目:以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int ptr*;C. int *ptr = 0;D. int ptr = 0;答案:C10. 题目:在C语言中,以下哪个选项是正确的函数调用?A. myFunction();B. myFunction 10;C. myFunction(10);D. myFunction(10)();答案:C。
计算机专业C语言月考试题
![计算机专业C语言月考试题](https://img.taocdn.com/s3/m/f2e432aa31b765ce040814cc.png)
C 语言月考试题总分:150分一、程序阅读题:(共48分,8分/题)1、Hsb208写出下列程序的结果:main(){int a[4]={5,16,7,14};int i;for(i=0;i<4;i++)a[i]=a[i]+i;for(i=3;i>=0;i--)printf("%d ",a[i]);}2、Hsb209写出下列程序的结果:main(){int k;int a[3][3]={1,2,3,4,5,6,7,8,9};for(k=0;k<3;k++)printf("%d ",a[k][2-k]);}3、Hsb210写出下列程序的结果:main( ){int i,m=0,n=0;int max,min;int a[9]={1,3,5,7,9,-2,-4,-6,-8};max=0;min=0;for(i=0;i<9;i++){if(a[i]>0){m++;if(max<a[i])max=a[i];}else{if(min<a[i])min=a[i];n++;}}printf("m=%d,n=%d\n,max=%d,min=%d\n",m,n,max,min);}4、hsb211写出下列程序的结果:main( ){int i;int a[4][4]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; for(i=0;i<4;i++)printf(“%3d”,a[i][i]);printf(“\n”);for(i=0;i<4;i++)printf(“%3d”,a[i][3-i]);printf(“\n”);}5、hsb212写出下列程序的结果:main(){int i,j;for(i=1;i<=9;i++){printf("\n");for(j=1;j<=i;j++)printf("%d*%d=%d ",i,j,i*j);}}6、hsb213写出下列程序的结果:int gcd(int,int);main(){int a,b,re;printf("\nplease enter 2 int:\n");scanf("%d%d",&a,&b);re=gcd(a,b);printf("\n%d & %d is:%d\n",a,b,re);}int gcd(u,v)int u,v;{int p;while(v!=0){p=u%v;u=v;v=p;}return(u);}二、程序填空题(共48分,4分/空)1、hsb214下列程序是将十进正整数转换成2至16进制数。
《C语言》月考试题(四)汇总
![《C语言》月考试题(四)汇总](https://img.taocdn.com/s3/m/5a4b1281284ac850ad0242a9.png)
《C语言》月考试题(四)一、程序分析题(30分)1、下列程序的运行结果是: 2 4 7 10#include "stdio.h"main(){ int a=1;while(a<10)if(!(++a%3)) continue;else printf("%d ",a++);}2、下列程序的运行结果是:7,9,6,0,1,4,8,5,2,3#include “stdio.h”void vSort(int *a, int n){int i, j,t;for (i =n-1;i>0;i--)for (j=0;j<i;j++)if (a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;}}main(){ int a[]={7,9,6,4,8,0,1,5,2,3},i;vSort(&a[3],4);for(i=0;i<10;i++)printf("%4d",a[i]);}3、下列程序的运行结果是:1,5,24#include <stdio.h>main( ){ int a,b,c;int x=4,y=6,z=8;int *p1=&x,*p2=&y,*p3;a=p1==&x;b=3*(-*p1)/(*p2)+7;c=*(p3=&z)=*p1*(*p2);printf("%d,%d,%d\n",a,b,c);}4、下列程序的运行结果是:aca,e dex,dmain(){ char *str[]={"aca","dex","gik"};char **p;int k;p=str;for(k=1;k>=0;k--,p++)printf("%s,%c\t",*p,p[k][k]);}5、下列程序的运行结果是:2,3#include <stdio.h>union ee{int a;int b;}*p,s[4];main(){int n=1,i;for(i=0;i<4;i++){s[i].a=n;s[i].b=s[i].a+1;n+=2;}p=&s[0];printf("%d,",p->a);printf("%d",++p->a);}6、下列程序的运行结果是:33111#include <stdio.h>main(){unsigned a=0331,b,c,d;b=a>>5-1;c=(~b|a);d=b&c;printf("%o%o\n",a,d);}二、程序填空:(20分)1、在下列程序中,其函数的功能是比较两个字符串的长度,比较的结果是函数返回较长的字符串的地址。
C语言5月份月考试题
![C语言5月份月考试题](https://img.taocdn.com/s3/m/ea4c132f5901020207409c99.png)
高一C语言五月份月考试题班级姓名一、写出下列程序或程序段的运行结果。
(共72分,12分每小题)1、若运行时输入100↙,写出以下程序的运行结果。
main ( ){ int a ;scanf("%d",&a);printf("%s",(a%2!=0)?"No":"Yes");}结果:2、设有 int a = 1,b=2,c =3, d =4, m=2, n=2;执行(m= a>b)&&(n=c>d)后n的值为:3、以下程序的运行结果是 :main(){int m=5;if(m++> 5) printf(" %d\n",m);e1se printf("%d\n",m- - );}结果:4、main(){int n=0;while(n++<=1)printf("%d\t",n);printf("%d\n",n);}结果:5、main(){int a=0,i;for(i=;i<5;i++){swich(i){case 0:case 3:a+=2;case 1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}结果:6、 main( ){ int i;for(i=1;i<=5;i++)switch(i%5){ case 0: printf(“*”) ; break;case 1: printf(“#”) ; break;default: printf(“\n”);case 2: printf(“&”); }}结果:二、程序填空(共8分)1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
C语言习题(月考1)试题
![C语言习题(月考1)试题](https://img.taocdn.com/s3/m/ef76586d14791711cc7917e5.png)
C 语言一.填空题1. 在C 语言中(VC++ 6.0 环境下),一个char 型数据在内存中所占字节数为________,一个int型数据在内存中所占字节数为________,一个long 型数据在内存中所占字节数为________,一个float 型数据在内存中所占字节数为________,一个double 型数据在内存中所占字节数位________。
2. 设x,i,j,k 都是int 型变量,表达式x=(i=4,j=16,k=32)计算后,x 的值为 。
3. 设有以下变量定义,并已赋确定值char w; int x; float y; double z; 则表达式:w*x+z-y 所求得的数据类型为 。
4. C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 。
5. C 语言中不带任何修饰符的浮点数(例如3.5)都是按照 类型数据存储的。
6. 在C 语言的源程序中若出现常量“1L ”,则该常量的类型是_________。
7. C 语言中,一个int 型数据在内存中占4个字节,则unsigned int 型数据的取值范围为 。
8. 设有int x=11,则表达式(x++*1/3)的值是 。
9. 若有定义:char c=‘\010’;则变量c 中包含的字符个数为 。
10. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 。
11. 已知a,b,c 是一个十进制数的百位,十位,个位,则该数的表达式是 。
12. 若a 是int 变量,则执行表达式a=25/3%3后,a 的值是 。
13. C 语句可以分为 , , , 和 _____________等5种类型。
14. 若有定义:int b=17; float a=4.5,c=6.5;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值 。
15. 表达式“4/5*(float)3+(float)3*4/5”的值是 。
5月C语言月考
![5月C语言月考](https://img.taocdn.com/s3/m/2b81b97e7e21af45b307a8d8.png)
二年级C语言5月月考试卷1.程序功能为输入正方形的边长,计算其面积。
完成程序填空#include <stdio.h>void main( ){ inta,s; //数据准备,边长为a,面积sprintf("请输入正方形的边长:");scanf("%d",_____________);//数据输入s=____________; //数据计算printf("该正方形的面积为:%d\n",s);}2. 输入一个A~Z之间的字母,输出与之左右相邻的两个字母,根据注释信息将程序填写完整。
#include“stdio.h>”void main( ){ char ch; //数据准备ch=getchar();//调用getchar()输入一个字母,并赋值给chputchar(__________);//调用putchar()输出与ch左相邻的字母putchar(___________);//调用putchar()输出与ch右相邻的字母}3. (1)有语句scanf("a=%d,b=%d",&a,&b);,要使a值为2,b值为3,则正确的输入方法是:__________________(2)有输入语句scanf("%d%c",&m,&n);,为使m值为6,n值为字母y,则正确的输入方法是:_____________________________4. (1)C语言提供了标准输入输出库函数实现数据输入输出,其对应的头文件为stdio.h(2).单字符输入和输出函数分别为____________和_________________(3).格式化输入和输出函数分别为_____________和______________________(4).格式化输出函数有两种调用格式:(1)printf("字符串常量");(2)printf("________________",输出项列表);5. (1)判断字符变量ch的值为大写字母的逻辑表达式为:____________________________。
C语言第二次月考理论试卷
![C语言第二次月考理论试卷](https://img.taocdn.com/s3/m/db34984b69eae009581bec40.png)
4、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是 。
A 、‘a ’<=c<= ‘z ’B 、(c>= ‘a ’)||(c<= ‘z ’)C 、‘a ’<=c)and (‘z ’>=c)D 、(c>= ‘a ’)&&(c<= ‘z ’) 5、C 语言中最简单的数据类型包括 。
A 、 整型、实型、逻辑型B 、 整型、实型、字符型C 、整型、字符型、逻辑型D 、整型、实型、逻辑型、字符型 6、C 语言中, 运算符两侧的操作数必须是整型数据。
A 、 % B 、/ C 、>= D 、 !7、下述对C 语言字符数组的描术中错误的是 。
A 、字符数组可以存放字符串B 、字符数组中的字符串可以整体输入、输出C 、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D 、不可以用关系运算符对字符数组中的字符串进行比较 8、下面合法的变量名是 。
A 、a_3B 、charC 、3cD 、c?b 9、下面 不是关系运算符。
A 、>=B 、!C 、<=D 、= = 10、下面 运算符的优先级最高。
A 、&&B 、/C 、>=D 、| | 11、下面常量中 是合法的。
A 、2.e3 B 、4.0e C 、e-3 D 、6e4.11 12、设有声明int value=’5’;,则执行下列选项的赋值语句后,value 的值不等于5的是_____。
A 、 value=value - ’0’;B 、value=value - 0x30;C 、 value=value - 49;D 、 value=value - ’\060’;1 13、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A 、0B 、2C 、2.5D 、 2.75 14、下列关系表达式中 结果为真。
14计1班C语言第一次月考
![14计1班C语言第一次月考](https://img.taocdn.com/s3/m/59253eb9da38376baf1faebe.png)
《C 语言》第一次月考试题(14级计算机1班)一、 填空题:(每空2分,共20分)1.算术运算符的优先级顺序是____________________。
2.表达式39%7的值是__________,321%372的值是__________。
3.在表达式中,如果所有运算符的优先级是一种,应采用__________来确定。
4.while 命令后面括号中的表达式称为__________。
5.当循环条件一开始就为假时,对于while 语句、do …while 语句分别执行循环体__________次和__________次。
6.在每次循环周期均要执行一次的语句,叫做__________。
7.若int i=10;则执行i++后,i 的值为__________。
8.与数学表达式x 2+3x-1等价的C 语言表达式是_______________。
二、 选择题:(每题2分,共20分)1.已知int x=5,执行表达式y=x++后,x 的值为( )。
A.3 B.4 C.5 D. 62.在C 语言中,要求运算数必须是整型的运算符是( )。
A. + B. - C./ D. %3.已知int a ;float fv ;double di ;则表达式10+’a ’/di*fv 的值的数据类型是( )。
A.intB. charC.floatD.double 4.若有说明语句:char s=’\72’;则变量s ( )。
A.为1个字符B.为2个字符C.为3个字符D.为1个字符串 5.已知float x=5.15,则表达式- -x 的值为( )。
A. 4.15 B.4 C.5.14 D.执行出错班 级: 姓 名: 成绩 :密封 线6.有数学表达式pqxy3(其中的字母是变量),则不正确的C 语言表达式是( )。
A. 3*x*y/p*q B.x*y/p/q*3 C.3*x*y/(p*q) D.3*x*y/p/q7.若k 为整型变量,则下面while 循环共循环( )次。
C语言月考二试题
![C语言月考二试题](https://img.taocdn.com/s3/m/986541ae6529647d27285296.png)
14单招(2)班C语言模拟试题一一、选择题(每题2分,共30分)1.以下叙述中正确的是____。
A、用C程序实现的算法必须要有输入和输出操作B、用C程序实现的算法可以没有输出但必须要有输入C、用C程序实现的算法可以没有输入但必须要有输出D、用C程序实现的算法可以既没有输入也没有输出2.以下叙述中错误的是A、用户所定义的标识符允许使用关键字B、用户所定义的标识符应尽量做到“见名知意”C、用户所定义的标识符必须以字母或下划线开头D、用户定义的标识符中,大、小写字母代表不同标识3.若有double x,y; 执行x=1,y=x+3/2后y的值是____。
A、1B、2C、2.0D、2.54.在C语言类型说明中,int、char、short等类型的长度是()A.固定的B.由用户自己定义的C.任意的D.与机器字的长度有关的5..一个C语言程序是由()。
A. 一个主程序和若干个子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成6.已知int x=1,y=2,z;执行(z=1.0/y*x)语句后z的值是___。
A.0B.0.5C.1D.27以下能正确地定义整型变量a,b和c并为其赋初值5的语句是__。
A.int a=b=c=5;B.int a,b,c=5 ;C.int a=5,b=5,c=5 ;D.a=b=c=5;8.下列说法中错误的是( )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行9.若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式a<b?a:c<d?c:d的值____。
A、1B、2C、3D、410.在C 语言中,每个语句必须以()结束。
A. 回车符B. 冒号C. 逗号D. 分号11.用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
高三C语言(第 7 次)月考
![高三C语言(第 7 次)月考](https://img.taocdn.com/s3/m/66ef85edaef8941ea76e05f8.png)
高三C语言三月月考试题姓名:________ 班级:________总分:__________ 一、选择题(每小题5分,共30分)17.执行x=5>1+2&&2||2*4<4-!0后, x的值为:()A) 3 B) 1 C) 2 D) 018.根据以下定义,能输出字母M的语句是()。
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]);19.有以下说明和定义语句struct student{ int age; char num[8];};Struct student stu[3]={{20,"200401"},{21,"200402"},{10,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是()。
A) (p++)->num B) p->num C) (*p).num D) stu[3].age20.有以下程序main(){ int x=011;printf("%d\n",++x); }程序运行后的输出结果是A)12 B)11 C)10 D)921.设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]); 22.若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;二、基本操作题28)c语言中,文件操作fopen函数的原型为FILE * fopen(char *filename,char *mode) ,用于打开一个指定文件,若成功返回一个与之关联的流,否则返回___________;代码片段FIEL *fp= fopen(“c:\\test.dat”,”a”)的含义是以_________的方式打开路径”c:\\test.dat”对应的文件,当访问的文件是二进制文件时,还需要在字符串“a”后增加一个字符________.以上代码片段对应的关闭文件的C语言代码是___________.三、综合应用题(每空5分,共20分)31. 设文件studs.dat中存放着学生的基本信息,基本信息由以下结构体来描述:struct student {long int num; /* 学号*/char name[20]; /* 姓名*/char major[25];}; /* 专业*/下列程序的功能是:输入要读取的学生人数,利用malloc动态分配内存来存储从文件中读取的学生信息(以方便进一步处理),并输出读取的学生的学号,姓名,专业。
C语言月考试题
![C语言月考试题](https://img.taocdn.com/s3/m/c0876e5ba26925c52cc5bf5a.png)
计88班9月月考试题姓名:分数:一、选择题(每空1分)1.C语言的基本构成单位是:。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是:。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是。
A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是:。
A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是:。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:。
A. ‘\2’B. " "C. ‘3’D. ‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。
int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以形式存放。
A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是:。
A. 2.500000B. 2.750000C. 3.500000D. 0.00000012.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为:。
15单招2班C语言第一次月考及答案资料.doc
![15单招2班C语言第一次月考及答案资料.doc](https://img.taocdn.com/s3/m/3c8e02d84431b90d6d85c75b.png)
15单招班计算机程序员技能试题学号:—姓名:_______ 成绩:—第I卷注意事项:每小题选出答案后,用2B铅笔将答题卡上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
一、单项选择题(本题共15小题,每小题2分,共30分)1.一个C语言程序是由()。
A)—个主程序和若干个子程序组成E)—个或多个函数组成C)若干过程组成D)若干子程序组成2.以下关于C语言的叙述中正确的是()A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示3.以下C语言用户标识符中,不合法的是()A)_lB)AaBcC) a _ bD) a b4.若有定义:double a=22; int i=0,k=18;,则不符合C语言规定的赋值语句是A) a = a —,i —;B)i=(a + k)V=(i+k);C)i=a%ll;D)i=! a;5.若a是数值类型,则逻辑表达式(a==I)||(a! = l) 的值是()A) 1B)0C) 2D)不知道a的值,不能确定6.如下嵌套的if语句if(a<b)if(a<c) k=a;else k=c;if(b<c) k=b;else k=c;以下选项中与上述f语句等价的语句是()A)k=(a<b)?a:b; k= (bvc) ?b:c;B)k=(a<b ?((b vc)? a:b) ((b >c)?b:c);C)k=(a<b ?((a vc)? a:c) ((b vc)?b:c);D)k=(a<b ?a:b; k= (avc) ?a:c;7.以下叙述中错误的是()A在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C #defi ne MAX是合法的宏定义命令行D 0程序对预处理命令行的处理是在程序执行的过程中进行的8.以下关于return语句的叙述中正确的是(A) 一个自定义函数中必须有一条eturn语句B ) 一个自定义函数中可以根据不同情况设置多条eturn语句C)定义成void类型的函数中可以有带返回值的eturn语句D)没有return语句的自定义函数在执行结束时不能返同到调用处9.下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008; int num[N];D)#define N 2008 int num[N];10.以下叙述中正确的是()。
C语言月考一试卷
![C语言月考一试卷](https://img.taocdn.com/s3/m/9447d25927284b73f2425096.png)
14单招班计算机专业第一次月考《c程序设计》试卷姓名:成绩:一、选择题(每题2分,共30分)1、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum3、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =4、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是()A、3B、0C、9D、-125、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、46、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.97、下述程序的输出结果是()#include<stdio.h>void main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,28、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
中职技能高考C语言月考试题
![中职技能高考C语言月考试题](https://img.taocdn.com/s3/m/6376c7a7bd64783e08122b67.png)
计算机二(7)班C语言月考试题姓名________ 考号________1、设计程序输出以下图案**********************2、设计程序求a+b-c的结果3、设计程序求任意长方形的周长4、设计程序比较输入的3个不同数的大小,按从大到小输出5、设计程序输出13,20,27,34……965,972,9796、设计程序输出1至600以内所有能被3而且不能被5整除的数7、程序填空:求197-90-88-……-32-30的结果以下两种写法,分析程序,将横线部分补充完整。
(1)#include <stdio.h> int main( ){int i,s;i=90;s=__________;while(i>=30){s=s-i;____________;}printf(“%d”,s)return 0;} (2)#include <stdio.h> int main( ){int a,t,s;a=________;t=30;s=0;while(_________){t=t+a;a=a+2;}s=197-t;printf(“%d”,s)return 0;8、设计程序求2-31+4-61+8-91+……+128-721+256-751的结果基本输入输出函数1、#include <stdio.h> main() {int a=1,b=3,c=5; if (c==a+b) printf("yes\n"); elseprintf("no\n"); }输出结果:2、#include <stdio.h>main(){int a=12, b= -34, c=56, min=0; min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}输出结果:3、#include <stdio.h> main(){int x=2,y= -1,z=5;if(x<y)if(y<0)z=0;elsez=z+1;printf(“%d\n”,z);}输出结果:4.#include <stdio.h>main(){float a,b,c,t;a=3;b=7;c=1;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c); }输出结果:5.#include < stdio .h > main ( ){float c=3.0 , d=4.0;if ( c>d )c=5.0;elseif ( c==d )c=6.0;else c=7.0;printf ( “%.1f\n”,c ) ; }运行结果:#include <stdio.h>main(){ int m;scanf("%d", &m);if (m >= 0){if (m%2 == 0)printf("%d is a positive even\n", m);elseprintf("%d is a positive odd\n", m);}else{if (m % 2 == 0)printf("%d is a negative even\n", m);elseprintf("%d is a negative odd\n", m);}若键入-9,则运行结果为:7.#include <stdio.h> main(){int num=0;while(num<=2){num++;printf("%d\n",num);}}8.#include <stdio.h>main( ){int sum=10,n=1;while(n<3){sum=sum-n;n++;}printf(“%d,%d”,n,sum);}9、#include <stdio.h> main( ){int sum=10,n=1;while(n<3){sum=sum-n;n++;}printf(“%d,%d”,n,sum); }10.#include <stdio.h>main(){ int num,c;scanf("%d",&num);do{c=num%10;printf("%d",c);}while((num/=10)>0); printf("\n");}从键盘输入23,则运行结果为:11#include <stdio.h>main(){ int s=0,a=5,n;scanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d,%d\n",s,a);}若输入的值1,运行结果为:main(){ char c;while((c=getchar())!=’$’){if(‘A’<=c&&c<=‘Z’)putchar(c);else if(‘a’<=c&&c<=‘z’)putchar(c-32);}}如果从键盘输入abcde?FGH(回车)#include <stdio.h>main(){ int s=0,a=6,n;scanf("%d",&n);do{ s+=1; a=a-2;}while(a!=n);printf("%d,%d\n",s,a);}输入2时结果为:main(){ int x, y =0;for(x=1;x<=10;x++){if(y>=10)break;y=y+x;}printf(“%d %d”,y,x); }。
C语言月考试题3.doc
![C语言月考试题3.doc](https://img.taocdn.com/s3/m/b486d389ad02de80d5d840a0.png)
崇信县职业教育中心2011-2012学年三年级C 语言第三次月考试题班级 ____________________ 姓名—一、选择题(每题1分,共20分)1. 组成C 语言程序的是 A.过程 B.函数2. 下列表达式的值为0的是A.3%5B. 3/5.0 成绩 ____________________() D.主程序和子程序()D. 3<53. C 语言屮定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是 ( )9. 函数调用语句 func ((expl, exp2), (exp3, exp4, exp5));屮,实参的个数为 ( ) A.lB.2C.4D.510.设a 为5,执行下列语句后,b 的值和其他三个选项不同的是 ( ) A.b=a/2B.b=6+ (-a )C.b=a%2D.b=a>32||l11. 算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为 ()A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算12. 执行下列语句printf (“%(T, )后输出为 () A.lB.语法错C.OD.9713.求一个双精度实数的绝对值,应该调用函数 ( )A.sqrtB.powC.absD.fabsC.子程序 C. 3/5 A.白动型B.寄存器型4. 自动型变量分配在 A.内存的数据区中 B.CPU 的通用寄存器中5. 下列保留字中用于构成循坏结构的是A. ifB. while 6. 以下运算符中,运算对彖必须是整型的是A./=B.%= 7. 下列选项中,不合法的C 语言关键字是A.autoB.default&若x=4,则x*=x+2的值为A.36B.24C.静态型D.外部参照型 ()C.内存的程序区中D.内存的堆栈区中() C. switchD. default()C.!=D.〈=() C.staticD.var( )C.18D.2014.若变量已正确定义,表达式(j=3, j++)的值是()A.3B.4C.5D.0 15•若数组名作实参而指针变暈作形参,函数调用实参传给形参的是A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址16.表达式1 &3&5&7的值为( )A.lB.3C.5D.717.定义一个有4个元素的一维整型数组,正确的是( )A.floata[4];B.int a={l, 2, 3, 4, 5};C.int a={l, 2, 3};D.int a[ ]={1};18.下列对字符数组的描述屮错误的是( )A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较19.以下对C 语言函数的描述中,正确的是( )A.在C中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参B.C函数既可以嵌套定义,又可以递归调用C.函数必须有返回值,负责不能使用函数D.C程序中有调用关系的所有函数必须放在同一个源程序文件中20.下列程序的输出结果是( )fun (int x,int y,int z){ z=x*x+y*y; }main(){int a=31;fun(5,2,a);printff t%d,,,a);}A.OB.29C.31D.无定值二、判断正误并改错题(每空2分,共12分)21.下列程序可实现计算两个数的平方和,请修改程序错误部分。
高三计算机专业第二次月考C语言试题
![高三计算机专业第二次月考C语言试题](https://img.taocdn.com/s3/m/edba7887dc3383c4bb4cf7ec4afe04a1b171b053.png)
高三计算机专业第二次月考C语言试题高考班计算机专业第二次月考试题《C语言》满分:100分时量:90分钟姓名:一、选择题(每小题2分,共20分)1、sizeof(float)是()A、一个单精度表达式B、一个整型表达式C、一种函数调用D、自定义函数2、以下描述正确的一项是()A、continue语句的作用是结束整个循环的执行B、只能在循环体内和switch语句体内使用break语句C、在循环体内使用break 和continue语句的作用相同D、循环嵌套中只能用goto语句3、语句while(!E);中的表达式!E等价于()A、E==0B、E!=0C、E!=1D、E==14、下面是对数组s的初始化,其中错误的是()A、char s[5]={″abc″};B、char s[5]={′a′,′b′,′c′};C、char s[5]=″″;D、char s[5]=″abcde″;5、判断字符串a和字符串b是否相等,应当使用()A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))6、C语言中,下列说法正确的是()A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参各共占用一个存储单元C、实参和形参同名时才会共占用一个存储单元D、形参是虚拟的,不占用存储单元7、C语言规定中,下面说法不正确的是()A、实参可以为常量、变量、表达式B、形参可以为常量、变量、表达式C、实参可以为任意类型D、形参与其对应的实参类型一致8、若用数组名作为实参,则传递给形参的是()A、数组第一个元素的值B、数组中元素的值C、数组首元素的地址D、数组元素的个数9、在函数中未指定存储类别的局部变量,系统默认为()A、外部(extern)B、自动(auto)C、静态(static)D、寄存型(register)10、若char s[10]定义;则下面表达式中不表示s[1]的地址是()A、s+1B、s++C、&s[0]+1D、&s[1]二、程序阅读题(每小题5分,共30分)1、main(){ unsigned char x,y,z;x=0x3;y=x|0x8;z=x<<1;printf(″%d,%d″,y,z);} 运行结果:2、#define PT 5.5#define S(x) PTx*x*xmain(){ int a=1,b=2;printf(″%4.1f″,S(a+b));} 运行结果:3、main(){ int i=1,n=3,j,k=3;int a[5]={1,4,5};while(i<=n&&k>a[i]) i++;for(j=n-1;j>=i;j--)a[j+1]=a[j];a[i]=k;for(i=0;i<=n;i++) printf(″%4d″,a[i]); } 运行结果:4、main(){ int a=5,i;for(i=0;i<3;i++)printf(″%4d″,f(a));}int f(int a){ int b=0;static int c=3;b++;c++;return(a+b+c);} 运行结果:5、main(){ char *p1,*p2,str[50]=″123″;p1=″123″;p2=″123″;strcpy(str+1,strcat(p1,p2));printf(″%s″,str);} 运行结果:6、#define N 5main(){ char c[N+1];int i;for(i=1;i<=N;i++) *(c+i)=′A′+i+1;printf(″%d″,fun(c, ′E′,N));}fun(char *s,char a,int n){ int j;*s=a;j=n;while(*s<="" p="">return j;} 运行结果:三、程序填空题(每空题5分,共30分)1、下面的程序的功能是将十进制正整数转换成十六进制。
C语言程序设计月考试题(函数部份)
![C语言程序设计月考试题(函数部份)](https://img.taocdn.com/s3/m/81f6fcc99ec3d5bbfc0a7407.png)
实验四班《C语言程序设计》月考试题学号姓名一、选择题(每小题3分,共45分)1、C语言程序由函数组成,它的()。
A)主函数必须在其它函数之前,函数内可以嵌套定义函数B)主函数可以在其它函数之后,函数内不可以嵌套定义函数C)主函数必须在其它函数之前,函数内不可以嵌套定义函数D)主函数必须在其它函数之后,函数内可以嵌套定义函数2、以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分3、若调用一个函数,且此函数中没有return语句,则正确的说法是()。
该函数A)没有返回值 B)返回若干个系统默认值C)能返回一个用户所希望的函数值 D)返回一个不确定的值4、以下不正确的说法是()。
C语言规定A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以是任意类型D)形参应与其对应得实参类型一致5、C语言规定,函数返回值的类型是由()。
A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定6、以下正确的说法是()。
A)定义函数时,形参的类型说明可以放在函数体内B)return后边的值不能为表达式C)如果函数值的类型与返回值类型不一致,以函数值类型为准D)如果形参与实参的类型不一致,以实参类型为准7、对于某个函数调用,不用给出被调用函数的原形的情况是()。
A)被调用函数是无参函数 B)被调用函数是无返回值的函数C)函数的定义在调用处之前 D)函数的定义在别的程序文件中8、已知函数abc的定义为:void abc(){......}则函数定义中void的含义是()。
A)执行函数abc后,函数没有返回值B)执行函数abc 后,函数不再返回C)执行函数abc后,可以返回任意类型 D)以上三个答案全是错误的9、以下正确的描述是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机应用类专业2012年9月份月考C语言试题一、选择题( 5分*10=50分)1、运行以下程序的输出结果是( D )main( ){ int x=10,y=10,i;for( i=0;x>8;y=++i)printf("%d %d",x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 1【解析】本题中变量x值的变化取决于自增运算符,而变量y值的改变取决于循环语句表达3中变量i的变化,也就是执行循环体后再改变y的值。
0110112122main( ){ int y=18,i=0,j,a[8];do{ a[i]=y%2;i++;y=y/2;}while(y>0);for( j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}A、10000B、10010C、00110D、10100【解析】本题中包含两个循环语句,do语句是分别给数组元素赋值,得a[0]=0,a[1]=1,a[2]=0,a[]3]=0,a[4]=1,结束后变量i的值变为5。
再执行for 语句时是采用由后到前输出数组元素的值。
3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(D )(注:<CR>表示回车、︼表示空格)int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB<CR> B)10︼20<CR>AB<CR>C)10︼︼20︼︼AB<CR> D)10︼20AB<CR>4、设x 和y均为int 型变量,则执行以下循环后,y 的值为(C)#include "stdio.h"main(){ int x,y;for (y=1,x=1;y<=50;y++){ if(x>=10) break;if(x%2==1){ x+=5;continue;}x-=3;}printf("%d",y);}A、2B、 4C、6D、105、运行以下程序的输出结果是(A )#include< stdio.h>void main( ){ char s[16]="12345\0\t\t\t";printf("%d %d\n",strlen(s),sizeof(s));}A、5 16B、9 16C、5 13D、13 16【解析】本题主要考查字符串处理函数strlen( ),sizeof( ),strlen( )是长度测试函数,在测试过程中如遇到字符串结束标志符时自动停止读取,题中第6个字符为字符串结束标志符就停止,所以有效字符数为5。
sizeof( )函数是求某一数据类型所占的内存空间的长度,此题中测试的是字符数组s所占内存空间的长度,而数组s的长度在定义时已明确指出为16,所以sizeof( )测出的值是16。
所以本题答案为A。
6、运行以下程序的输出结果是(B )#include< stdio.h>void main( ){ int i,a[10]={0,1,2,3,4,5,6,7,8,9};for(i=1;i<9;i++) a[i]=a[i-1]+a[i+1];printf("%d%d",a[5],a[7]);}A 、1014 B、2035 C、812 D、274477a[7]=a[6]+a[8]=3588a[8]=a[7]+a[9]=44循环到第8次后,变量i的值变为9,不符合条件,退出循环。
根据表格所示本题答案为B。
7、以下程序的输出结果是(A )main( ){ int n=4;while(n--)printf("%d ",--n);}A、2 0B、3 1C、3 2 1D、2 1 0【解析】本题考查while循环语句和自减运算符的运用。
由程序段可知,循环的控制表达式while(n--)中,n相当于while(n) n--;所以每循环一次,n值减1,n值的变化是4,3,2,1,0。
但由于在printf("%d ",--n);语句中又存在--n的变化,所以程序中n的变化实质是每循环一轮其值递减2,即420,当n变为0时while(n)条件不满足,退出循环。
8、若变量a,i已正确定义,且i已正确赋值,合法的语句是( B )。
A)a==1 B)++i;C)a=a++=5;D)a=int(i)【解析】本题考查C语言语句的特点,C语言中语句的结束是以“;”为标志。
由此可排除选项A和D。
其二常数不可以赋值给一个表达式也不可以常量赋给常量,由此可排除选项C。
故答案为B。
9、运行以下程序的输出结果是(C)#include<stdio.h>void main(){ char i,s[][5]={"abc","defgh","ijk","xyz"};for(i=1;i<3;i++)printf("%s\n",s[i]);}A abcB defghC defghijkD defghijkdefgh ijk ijk xyz ijk【解析】此题考查字符串数组的含义,字符串数组实质是数组中每一个元素又都是存放一个字符串的数组,所以可以将一个字符数组视为一个二维字符数组。
其中的元素按行占连续的存储单元,且其中有些存储单元是空闲的,各字符串并不是一串连着一串存放,总是从每行的第0个元素开始存放一个新的串。
此题中第二行由于数组长度刚好与字符个数相等,即长度不够,则字符串结束标志符'\O'未能存入s 中,而是存在s 数组之后的一个单元里,所以本题的存放形式如图示。
题中使用了printf()函数的"%s"格式符来输出字符串,实现时从数组的第一个字符开始逐个字符输出,直到遇到第一个'\0'为止(其后即使还有字符亦不输出)。
10、某店一个月的收入和支出总共记录了 N 个数据1a ,2a ,。
N a,其中入记为正数,支出记为负数。
该店用右边的程序框图计算月总收入S 和月净盈利V ,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( C )(A )A >0,V =S -T(B) A <0,V =S -T (C) A >0, V =S +T(D )A <0,V =S +TS[0] a b c \0S[1] d e f g hS[2] i j k \0 S[3] x y z \0 是 开始1,0,0k S T ===i A a =输出,S V 1k k =+ 否结束输入12,,,,NN a a a ⋅⋅⋅ T T A =+ S S A =+ K<N 是否【解析】月总收入为S,因此A>0时归入S,判断框内填A>0,支出T为负数,因此月盈利V=S+T。
二、填空题(4分*5=20分)1、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0 。
! (x=a)&&(y=b)&&0【解析】对于C语言中逻辑表达式有且只有“1”和“0”两个逻辑值,在运算过程中按从左至右的顺序进行运算,但要考虑运算符的优先级别。
2、以下程序对输入两个整数,按从大到小顺序输出.请在[ ]内填入正确内容.main(){ int x,y,z;scanf(“%d,%d”,&x,&y);if ( x<y ){z=x; x=y;y=z; }pringf(“%d,%d”,x,y);}【解析】本题是要求按从大到小的顺序输出,程序中的z是用来交换x,y的中间变量,根据后一空中z=x;可知只有当x的值小于y的值时才会进行交换。
3、以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。
请填空。
sub(int k,int n){int a1,a2;a2= k%10; a2= k%10 ; a2=k/10 ;a1= k/10; a2=(k-a2)/10; a2=k-a2*10 ;if((k%3==0 &&a2==5)||(k%3==0&&a1==5)){ printf("%d",k);n++;return n;}else return -1;}main(){int n=0,k,m;for(k=10;k<=99;k++){ m=sub(k,n);if(m!=-1) n=m;}printf("\nn=%d",n);}【解析】本程序是要求选出能被3整除且至少有一位是5的两位数,根据这一特点就说明要成立必须包含两个方面(1)能被3整除;(2)其中个位或者十位上有个数字5且同时成立,题中if语句中的条件中包含的第一个方面,所以只需从这个两位数中分别分离出个位或十位与其结合就可以。
154551545775n=6三、阅读程序写结果(5分*5=25分)1、#include<stdio.h>void main(){x=y=2;z=3;y=x++-1;printf("%d,%d\t",x,y);y=++x-1;printf("%d,%d\t",x,y);y=z-- +1;printf("%d,%d\t",z,y);y=--z+1;printf("%d,%d\t",z,y);}【解析】本题主要考查自增与自减运算符的应用及变量在按顺序执行过程中其值是否发生改变,变量的值一经改变必须使用改变后的值进行下一步的运算,同时一定要考虑其输出格式。
2、 #include< stdio.h> void main( ){ int i,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; for( i=0;i<3;i++) printf( "%d,",a[i][3-i]);}【解析】此题主要考查二维数组中的元素值与下标号的对应关系。
3、#include< stdio.h> void fun( int x,int y,int z ) {z=x+y; }void main( ){int a=12;f(5,6,a); printf("%d\n",a); }【解析】本题是考查函数参数的传递关系,题中的参数是传值的关系,所以形参的改变不会影响实参。