c语言程序设计试卷及答案(A)
- 格式:docx
- 大小:40.18 KB
- 文档页数:13
自信考试 诚信做人哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1.有以下定义:int a; long b; double x,y;则下列正确的是( )。
A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x2. 以下C 语言标识符中,不合法的是( )。
A) _2 B) a_b C) a--b D) AaBc3. C 语言允许函数类型默认定义,此时该函数值隐含的类型是( )。
A) float B) int C) long D) double4. 若有定义 int (*p)[3];则下列说法正确的是( )。
A) 定义了基类型为int 的三个指针变量B) 定义了一个名为 *pt 、具有三个元素的整型数值C) 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int 的具有三个元素的整型数组号学名姓注意行为规范 遵守考试纪律自信考试诚信做人5.有以下程序#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) 36.有以下程序段#include <stdio.h>main(){int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( )。
2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
《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一、选择题(每题2分共30分)1.C语言中,int类型数据占2个字节,则long类型数据占()A、1个字节B、2 个字节C、3个字节D、4个字节2.以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分3.下面的程序会()main(){ int x=3,y=0,z=0;if(x=y+z) printf("****");else printf("####");}A、有语法错误不能通过编译B、输出****C、可以通过编译,但不能通过连接,因而不能运行D、输出####4.以下程序的输出结果是()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 15.以下程序的输出结果是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 16.有如下程序main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf("%d",s);}该程序的输出结果是A、18B、19C、20D、217.执行下列程序时输入123<空格>456<空格>789<回车>,输出结果是( )。
.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
天津工业大学200 9 ~201 0 学年第 1 学期高级语言程序设计(C语言)试卷(A)学院班级学号姓名注意事项:1、本试卷共11 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,不能够作为变量名使用的是【1】。
A) float B) _123C) Sum D) X_Y12.一个C语言程序的执行是【2】。
A) 从第一个函数开始,到最后一个函数结束B) 从main()函数开始,到最后一个函数结束C) 从main()函数开始,到main()函数结束D) 从第一语句开始,到最后一个语句结束3.表达式sizeof(float)的值是【3】。
A) 1 B) 2 C) 4 D) 84.在C语言中,数值常量0x9f对应十进制值是【4】。
A) 160 B) 87C) 9f D) 1595.在C语言中,运算对象必须是整型数据的运算符是【5】。
A) / B) % C) && D) <=6.数学表达式x≥y≥z,改写为C语言表达式后,正确的写法是【6】。
A) x>=y>=z B) (x>=y) && (y>=z)C) (x>=y) & (y>=z) D) (x>=y) AND (y>=z)7.已知int x=6; 执行语句x+=x-=x*x; 后,变量x的值是【7】。
A) -60 B) -24 C) 36 D) 608.若int x=4,y=2;则表达式x<y?x++:y++的值是【8】。
A) 2 B) 3 C) 4 D) 59.若有定义语句char ch='\072'; 则变量ch 【9】。
装………. ………. ……….…………….….订………. ………. ……….…………….…. ………. ………. ……….…………….….线………. ………. ……….…………….….《C 语言程序设计》第 1 页共 5 页此处不能书写此处不能书写此处不能书写 此处不能书写《C 语言程序设计》(A 卷)期末考试班级名称:学号:姓名:题号 一 二 三 四 五 总分 分数得 分一、单项选择题(每题2分,共20分)1. 执行程序:int a;printf(“%d \n ”,(a=3*5,a*4,a+5));后,a 的值是( ) A 、60B 、20C 、15D 、102. 程序段:int x=023;printf(“%d \n ”,--x)的输出是( ) A 、19B 、18C 、23D 、223. 程序段:static char s[10]={‘C ’,’h ’,’i ’,’n ’,’a ’};printf(“%d \n ”,strlen(s));输出的是( ) A 、6B 、5C 、11D 、104.若fun(int x){printf(“%d,x ”);},则fun ( )5.有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b)且引用宏:y=MULT1(3+2,5+8);z=MULT2(3+2,5+8);则y 和z 的值是( )A 、y=65,z=65B 、y=21,z=65C 、y=65,z=21D 、y=21,z=216. 程序段char s[]=”Hello ”,*p;p=s;执行后,*(p+5)的值是( ) A 、’o ’B 、’\0’C 、’0’的地址D 、不确定的值7. 程序段:char *s=”ABCD ”,*p for(p=s;*p;p++) printf(“%s\n ”,p);的输出是( )A 、 ABCD BCD CD DB 、 A BC DC 、D C B AD 、 ABCD ABC AB A8. 若定义:int(*p)[3];则标识符p ( ) A 、定义不合法B 、是一个指针数组名,每个元素是一个指向整型变量的指针C 、是一个指针,它指向一个具有三个元素的一维数组装………. ………. ……….…………….….订………. ………. ……….…………….…. ………. ………. ……….…………….….线………. ………. ……….…………….….《C 语言程序设计》第 2 页共 5 页此处不能书写此处不能书写此处不能书写 此处不能书写( ) A 、p.data.aB 、(*p).aC 、p->data.aD 、(*p).data.a10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen 函数的方式是( )A 、 FILE *fp;fp=fopen(“file1”,”rb ”); B 、 FILE *fpfp=fopen(“file1”,”r+);C 、 FILE *fp;fp=fopen(“file1”,”r ”);D 、 FILE *fp;fp=fopen(“file1”,”rb+”);得 分二、填空题(每空1分,共20分)1. C 程序一个函数的定义由( )和( )两部分组成。
哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间105分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 下面程序的输出是______。
main(){ int x=10,y=3;printf("%d\n",y=x/y); }A) 0 B) 1 C) 3 D) 不确定的值 2. 下列函数的功能是______。
int fun1(char *x) { char *y = x; while(*y++); return(y-x-1); }A) 求字符串的长度 B) 将字符串X 连接到字符串Y 后面 C) 将字符串X 复制到字符串Y D) 比较两个字符串的大小号学名姓注意行为规范 遵守考试纪律3.以下对C语言函数的有关描述中,正确的是______。
A) C程序中有调用关系的所有函数必须放在同一个源程序文件中B) C函数既可以嵌套定义又可以递归调用C) 调用函数时,实参的值传送给形参D) 函数必须有返回值4.若用数组名作为函数调用的实参,传递给形参的是______。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数5.若有以下定义,则p+5表示_______.int a[10],*p=a;A) 元素a[5]的地址B) 元素a[5]的值C) 元素a[6]的地址D) 元素a[6]的值6.以下选项中,与k=n++完全等价的表达式是_______。
一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。
(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
8.一个C程序的执行是。
(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。
XX 学院试卷《C语言程序设计试卷》试卷(A卷)一、填空题(每题2分,共10×2=20分)1、除机器语言之外的其他语言要被机器识别,必须经过翻译的过程,翻译有编译和解释两种,C语言所采用的是翻译方式。
2、C语言是函数驱动的,组成C语言程序的基本单位是。
3、C语言的入口函数是函数,且程序亦结束于该函数。
(填写英文)4、在函数体中,一条C语言语句均以结尾。
(填写符号)5、C程序的调试过程包括:→→→四个步骤。
6、基本数据类型包括:整数类型、浮点类型、和枚举类型。
7、浮点型包括单精度型和。
8、变量命名时,在能取得符号中,不能以开头。
9、63%10= 。
10、有数组定义如:int x[10];则数组的第三个元素应表示为。
二、单选题(每小题1分,多选,错选都不得分;共15×1=15分)1、C语言中主函数的个数是( )A、1个B、2个C、6个D、任意多个2、以下不属于C语言基本数据类型的是( )。
A、字符型B、浮点型C、整型D、空类型3、下面关于字符常量和字符串常量的叙述中错误的是( )。
A、字符常量由单引号括起来,字符串常量用双引号括起来B、字符常量只能是单个字符,而字符串常量则可以包含一个或多个字符C、字符常量占用一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数D、可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋予一个字符变量4、设有变量说明:float x=4.0,y=4.0;。
下面使x为10.0的表达式是( )。
A、x -=y*2.5B、x/=y+9C、x*=y-6D、x+=y+25、下列程序段的输出结果是( )。
char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c”,c1,c2);A、a,BB、A,BC、A,bD、a,b6、以下运算符为单目运算符的是( )。
A、!B、&&C、%D、?:7、以下哪项不属于结构化程序设计方法的特点( )。
C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。
2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。
3、有如下程序chara[]=\的值为____6_____。
4、函数直接或间接的调用自己成为函数的________递归调用__________。
5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。
6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。
7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。
8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。
tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。
10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。
二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。
voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。
2011―2012 学年第一学期《C 语言程序设计》模拟试卷(A)一、单项选择题(每题1分,共30分)1.以下选项中叙述正确的是________。
A )C 语言程序总是从第一个定义的函数开执行B )在C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行D )C 语言程序中的main()函数必须放在程序的开始部分2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。
A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。
A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。
A)2b B )x_1 C )a@b D)3#h5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。
A )0~255B )0~32767C )0~65535D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。
A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1;7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。
A )8 B )10 C )12 D )148.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。
A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。
A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z );10.华氏温度f 和摄氏温度c 的关系是)32(95-=f c 。
08-09第1学期《C语言程序设计》试卷A1、下列变量定义合法的是:()A) float _a=.1e-1; B) double b=5e2.5;C) long for=0xfdal; D) float 2_and=0.12;2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是:()。
A)a≠0; B)!a; C)a=0; D)a;3、若变量已正确定义并赋值,下面符合C语言语法的表达式是:()。
A)a:=b+1; B)a=b=c+2;C)int 18.5%3; D)a=a+7=c+b;4、两次运行下面程序,如果从键盘上分别输入6和4,则输出的结果是()。
void main(){ int x;scanf((“%d”,&x);if(x++>5) printf((“%d”, x);else printf((“%d\n”,x--) ;}A) 7和5 B) 6和3 C) 7和4 D) 6和45、当调用函数时,实参是一个数组名,则向函数传送的是()。
A)数组的长度B)数组的首地址C)数组的每一个元素的地址D)数组每个元素的值6、下列叙述不正确的是()A) 调用printf函数时,必须要有输出项。
B) 使用putchar函数时,必须在之前包含头文件stdio.h。
C) 在C语言中,整数可以以十进制、八进制或十二进制的形式输入。
D) 在调用getchar函数读入字符时,可以从键盘输入字符所对应的ASCII 码。
7、以下叙述正确的是()。
A)C语言程序总是从第一个定义的函数开始执行。
B)C语言程序即允许函数嵌套调用,又允许函数嵌套定义。
C)主函数中定义的变量在整个程序中都有效。
D )凡是在函数中未指定存储类别的变量,其隐含的存储类型为自动的(auto )。
8、 设变量a 、b 、c 、d 和y 都已正确定义并赋值。
若有以下if 语句if(a<b)if(c= =d) y=0;else y=1;该语句所表示的含义是:( ) A) ⎩⎨⎧≥=<=)(1)(0b a d c b a y 且 B) ⎩⎨⎧≠≥=<=)(1)(0d c b a d c b a y 且且C) ⎩⎨⎧≠<=<=)(1)(0d c b a d c b a y 且且 D) ⎩⎨⎧≠=<=)(1)(0d c d c b a y 且9、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( )。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是(D )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( C)。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是(D)。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。
A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。
贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。
4.满分100分,考试时间为120分钟。
一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。
A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。
A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。
A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。
A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。
A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。
A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。
A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。
A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。
C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。
#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
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. B. x=13,y=3。
66.以下哪种变量类型在C语言中不存在().A。
整型变量A。
1B。
实型变量B。
2C。
字符串变量C。
3D.字符变量D. 07.设m=10,n=4,则赋值运算m%=n+1执行后m的值是()。
8。
下面语句执行后输出结果为()。
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,9C。
x=13,y=3D. x=13,y=3。
第1页,共7页10。
以下选项中不是C语句的是()。
A.{int i;i++;printf("%d\n”,i);}C.a=5,c=10main(){int x=2,y=-1,z=2;if( x<y)if(y〈)z=0;else z=z+1;printf(“%d”,z);}A。
B. 1C。
2D。
3D. x%212.不能表达:x为奇数时表达式为“真",偶数时表达式为“假”的表达式是().A. x%2= =1B。
!(x%2= =0)C。
!(x%2)13.以下程序段中while语句的循环次数是()。
int i=0;while(i=1){i++;}A。
无限次B.有语法错误,不能执行A.gets(a,b);C。
一次也不履行D。
履行一次14。
假定a,b均为字符数组以下精确的输入语句是()。
B。
scanf(“%s%s”,a,b);C. scanf(“%s%s",&a,&b);D。
gets(“a”); gets(“b”);15.若有定义:int a,*p;则以下正确的赋值表达式是()。
A。
A. 1p=&aB。
p=aC. *p=&a4D.*p=*aD.516.以下函数调用语句中,func(a+b,c-d+100);含有的实参个数是()。
B.2C。
17.有以下界说:struct person{char name[9];int age;}struct person class[10]={“Johu",17,“XXX”,19,“Mary”,18,“Adam”,16,};则上面能输出字母M的语句是().A.printf(“%c\n",class[3].name);[]);18。
下列关于break和continue语句的叙述正确的是()。
A.都可以出现在程序的任何位置B.break语句可以出现在循环体或switch语句中C. continue语句可以出现在循环体或switch语句中D。
两者必须配对使用第2页,共7页B.;D.{;}11。
以下程序的输出结果是()。
B.printf(“%c\n",class[3]。
name[1]);D。
printf(“%c\n”,class[2]。
nameC.printf(“%c\n”,class[2].name[1]);19。
用作累加器和累乘器的变量应当赋初始值为()和()。
A.0B.01C。
1D。
1120.下列语句()可以实现变量a与b的数值交换。
A.{a=b;b=a;}B.{t=a;b=a;a=t;}C{t=a;a=b;b=t;}。
D。
以上都正确二、填空(每空1分,共20分)1. C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。
3. C语言中的三种逻辑运算符分别是_____、_____、_____。
main(){ int n; float s=1。
0;for(n=10; _____;_____)s=s+_____;printf(“%f”,s);}5.以下程序的功能是用选择法对数组a中的整数由小到大进行排序.void sort(int b[],int n){int i,j,t;for(i = 0;i<n–1;i ++ )for(_____;j<n;j ++)if(b[i]_____b[j]){t = b[i];_______;b[ j]=t;}}main(){int a[]={5,8,6,2,7,4,1,3};int i;sort(a,8);for(i = 0;i<8;i ++)printf(“﹪5d",a[i]);printf(“\ n");}6. printf(”%5.3f\n”,.);输出为_____。
7。
存储字符串“program”的字符数组至少需要____个元素。
8指针变量能够加减一个整数,比方:_______________;指针变量能够有空值,例第3页,共7页如_____________________________________________________.9以下程序从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。
#include <XXX>#define SIZE 10struct Student_type<—--———————-—-——-———{ char name[10];程int num;序int age;段char addr[15];1}stud[SIZE];<—-——-——--——-----—void save()〈--—-—-—-------—---—{FILE *fp;int i;if((fp=fopen(”stu。
dat","wb”))==NULL)程{printf("cannot open file\n");序return;段}2for(i=0;i<SIZE;i++)if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1)printf(”file write error\n”);fclose(fp);}<-—-—--——--—-——-—---int main()<————-———————---—-——{int i;printf(“enter data of students:\n”);程for序scanf(”%s%d%d%s",stud[i].name,&stud[i]。
num,&stud[i].age,stud[i].addr);段save( );3第4页,共7页(i=0;i〈SIZE;i++)return 0;}<----————-—-----——--请回答问题:程序段1完成的功能是___________________________________;程序段2完成的功能是___________________________________;程序段3完成的功能是___________________________________。
三、程序阅读(每小题5分,共30分)1。
执行以下程序:main(){ int i,j,k,t;scanf(“%d",&t);i=t%10; t=t/10; j=t%10;k=t/10;printf(“%d”,i*100+j*10+k);}当输入123时,输出结果为____。
2。
以下步伐的输出成效是____。
main(){ int i=0,j=0,a=6;if((++i>0)||(++j>0))a++;3。
以下步伐的输出成效是____.main(){int n=10;while(n>7){printf(“%d,"n);n-- ;}4.以下程序的输出结果是____.fun1(int a,int b){int c;a+=a;b+=b;c=fun2(a,b);return c;}fun2(int a,int b)第5printf(“i=%d,j=%d,a=%d”,i,j,a);}页,共7页{int c;XXX;return c;}main(){int x=2,y=4;printf(”%d\n”,fun1(x,y));}5。
如有以下步伐段,履行后的输出成效是____。
int a=0,b=0,c=0;c=(a-=a—5),(a=b,b+3);printf(“%d,%d,%d\n",a,b,c);6.若有以下程序段,执行后的输出结果是____。
main(){ int i;for(i=3;i<10;i++){if(i%4= =0)continue;elseprintf(”%d,”,i);}}四、编程题(每小题5分,共10分)1.编程实现计算1到100之间的奇数之和,偶数之和。
1112.编写程序求e的值,当通项小于10-7停止计算。
e≈1+1!2!n!五、附加题(不计入总分)1.请完整写出用递归方法求n!的C语言程序;2.请完全写出用递归办法完成汉诺塔题目的C言语步伐;3。
编写一个找出所有“水仙花"数的C语言程序。
参考谜底及评分尺度1、单项挑选题(每题2分,共40分)1~5 AADCB6~10CDCBC11~15CCABA16~20BDBBC2、填空(每空1分,共20分)1. .c。
obj.exe2。
9.5第6页,共7页3.&&||!4。
n〉1,n——,1.0/n大概n>=2,—-n,1。
0/(12—n)等相似方式。
5。
j=i+1,>,b[i]=b[j]6. .1237。
88。
P++P=NULL自定义函数save用来在磁盘上建立文件并把学生信息通过frwrite函数写到磁盘文件;主函数完成从键盘输退学生信息,然后挪用save函数。