程序设计语言期末试卷C
- 格式:doc
- 大小:53.00 KB
- 文档页数:6
制定具体的养护方案《程序设计(C语言)》期末考试卷(A)使用专业、班级学号姓名l 题数一二三四五总分得分一、选择题〖每题2分,共计40分〗1.下列变量合法的是(B)。
A.2a0 B._1a0 C.x>y D.b-a2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A.7 B.8 C.6 D.23.有以下程序:void main( ){int x=101,y=011;printf("%2d,%2d\n",x,y);}执行后输出结果是(C)。
A.10, 9 B.101,11 C.101, 9 D.01,114.若有说明语句:char c='\72';则变量c( A )。
A.包含1个字符 B.包含2个字符 C.包含3个字符D.说明不合法,c的值不确定5.阅读一下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为( D )。
void main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值江南大学考试卷专用纸1考试形式开卷()、闭卷(√),在选项上打(√)开课教研室命题教师统一命题时间使用学期6.定义如下变量和数组: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]);A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 77.有以下程序:void 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);}程序执行后的输出结果是()。
C++面向对象程序设计语言期末考试试卷一.选择题(每题1分,共10分)1.在C++中,常量’C’和”C”两者________。
A)完全不同B)存储长度相同C)类型相同D)存储值相同2.有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序cout<<*s[2],屏幕上显示________。
A)gao B)tang C)g D)t3.若w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的结果为_______。
A)4 B)3 C)2 D)14.设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为_______。
A)5,10 B)20,25 C)5,25 D)5,205.如果整型变量a,b,c的值分别为5,4,3,则语句if(a>=b>=c) c++;执行后c的值是______。
A)5 B)4 C)3 D)2int i=10;执行下列语句后,i的值是_______。
{case 9: i+=1;case 10: i+=1;case 11: i+=1;case 12: i+=1;}A)10 B)11 C)12 D)136.执行以下程序:#include<iostream.h>void main(void){char c=0; cout<<c<<’\n’;}输出的结果是________。
A) ‘\0’B)语法错C)0 D) 一个空行7.设有类型说明:enum color{red,yellow=3,white,black};则执行语句cout<<white<<’\n’;后输出的结果是________。
A) 4 B) 3 C) 2 D) 18.对于下面的几个函数:void f(int x){……}//1int f(int y){……}//2int f(int i,int j){……}//3float k(int x) {……}//4_______是重载函数。
期末试卷二一、单项选择题(每题1分,共45分)1.下列变量名中,哪个是合法的()A.C&D B.string$C.char D._2132.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.表达式a+b%3的值是()(设a=13.6,b=10)A.14.6 B.15C.15.9 D.16.64.保存一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.字符串”tc20\nlib\101\\\’”含有多少个字符( )A.10 B.11 C.12 D.136.Putchar()函数可以向终端输出一个()A. 整型变量或表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值7.以下所列的C语言常量中,错误的是()A.0xFF B.2*5 C.2.5 D.04568.下列不合法的C语言赋值表达式是()A.a+=b-c B.a+b=cC.a=b=c=1 D.a*=++b+c9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",& a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()(<CR>表示回车) A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f", &x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()main( ){ float a, b;scanf("%f%f", &a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,& c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()main( ){char c1='A', c2='Y';printf("%d,%d\n", c1, c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()main( ){ int a=2,b=5;printf("a=%d,b=%d\n", a, b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0, 则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10];则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-5] 32.下面程序的运行结果是()main(){ int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出结果是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()#include <stdio.h>main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.以下说法中正确的是()A.C语言程序总是从第一个定义的函数开始执行。
吉林师范成人教育期末考试试卷《C语言程序设计》A卷年级专业姓名分数一、选择题(每题1分共10分)1. 一个C语言程序是由。
A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成2. 不是整数。
下面不正确的字符串常量是。
A)'abc' B)"12'12" C)"0" D)" "3. 下面四个选项中,均是合法的浮点数的选项是。
A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-04. 以下正确的叙述是。
A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符5. 根据定义和数据的输入方式,输入语句的正确形式为。
已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);6. 下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.7. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。
河海大学2016—2017学年第二学期《C语言程序设计》期末试卷(C)一、选择题(每小题2分,共70分)(1)在数据结构中,数据的存储结构可以是()。
A)线性结构和非线性结构B)内部结构和外部结构C)顺序结构和链式结构D)静态结构和动态结构(2)下面关于线性表的叙述中,错误的是()。
A)线性表采用顺序存储,必须占用一片连续的存储单元B)线性表采用顺序存储,便于进行插入和删除操作C)线性表采用链接存储,不必占用一片连续的存储单元D)线性表采用链接存储,可以动态分配存储空间(3)在一棵树中,若一个结点是叶结点,则它没有()。
A)左子结点B)右子结点C)左子结点和右子结点D)左子结点、右子结点和兄弟结点(4)成功的二分查找算法的时问复杂度为()。
A)O(log2n)B)O(log2n)C)O(n)D)O()(5)结构化程序设计方法使用的三种基本程序控制结构是()。
A)顺序、选择和循环B)输入、处理和输出C)模块、函数和过程D)入口、出口和接口(6)在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的()。
A)安全性B)健壮性C)可靠性D)有效性(7)白盒测试法重视()的度量。
A)测试用例多少B)测试路径多少C)测试覆盖率D)测试出错误的多少(8)在数据库设计中用关系模型来表示实体与实体间的联系。
关系模型的结构是()。
A)层次结构B)二维表结构C)网络结构D)封装结构(9)数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为。
A)数据定义功能B)数据管理功能C)数据操纵功能D)数据控制功能(10)在关系数据库标准语言SQL中,实现数据检索的语句或命令为()。
A)SELECT B)LOAD C)FETCH D)SET(11)以下程序执行后,sum的值是()。
A)15 B)14 C)不确定D)0main(){ int i,sum;for(i=l;i<6;i++)sum+=i;printf("%d\n",sum);}(12)有以下程序段int x=3;do{ printf("%d",x -=2);}while(!(--x));其输出结果是()。
C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。
A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};C. char str[10]; str= "strings";D. char str[]= "strings";10. 有如下程序:#include <stdio.h>void main(){int a=1,b=0,c=0;if (a<b)if (b<0) c=0;else c++;printf (“%d\n”,c);}该程序的运行结果是 D 。
本科c语言程序设计考试试题及答案**本科C语言程序设计考试试题及答案**一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. char str[] = "Hello";D. char str[10] = 'Hello';答案:C3. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 0b1010D. 0.1答案:B4. C语言中,以下哪个运算符用于逻辑与?A. &&B. ||C. !D. |答案:A5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = 10;D. int array = {0};答案:B8. C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = 10;D. int ptr = 10;答案:A9. C语言中,以下哪个函数用于动态分配内存?A. malloc()B. calloc()C. realloc()D. free()答案:A10. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、填空题(每题3分,共15分)1. C语言中,用于声明一个整型变量的关键字是________。
.专科《C语言程序设计》一、(共75题,共150分)1. 不能定义为用户标识符的是( )。
(2分)A.shortB._3countC.UNIOND.long_1标准答案:A2. 设x和y均为int型变量,则以下语句:;的功能是( )。
(2分)A.把x和y按从大到小排列B.把x和y按从小到大排列C.x和y中的值不变D.交换x和y中的值标准答案:D3. 非法的字符串常量是( )。
(2分)A.""B."a"C."a"b"D."a'b"标准答案:C4. 合法的浮点型常量是( )。
(2分)A.2.5E0.5B.3.14EC.5E-20D.E20标准答案:C5. 与0x30等值的数为( )。
(2分)A.048B.48C.0256D.256标准答案:B6. 若有定义;则表达式a=x+y的值是( )。
(2分)A.7B.6C.5.8D.5标准答案:D7. 设有定义;则下面语句中错误的是( )。
(2分)A.a++;B.b++;C.++b;D.a+b;标准答案:A8. 非法的字符常量是( )。
(2分)A.'\007'B.'\x7a'C.'7a'D.'\\'标准答案:C9. 若定义int a=14,b=4;则表达式a/b的值是( )。
(2分)A.2.5B.3C.3.5D.4 标准答案:B10. while(!m)语句中的!m与下列条件表达式等价的是( )。
(2分)A.m==0B.m==1C.m!=0D.m!=1标准答案:A11. 在C语言中,一个short型数据的存储长度是( )个字节。
(2分)A.1B.2C.3D.4标准答案:B12. 已知int a=2,b=1,c=3;则表达式的值为( )。
(2分)A.1B.2C.3D.4标准答案:A13. 执行语句后变量i的值为( )。
C语言程序设计课程期末练习题一、单项选择题。
把合适的选项编号填写在括号内。
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程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
A A. warning B. error C. warn D. 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语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[3][3]={{1,2,3},4,5,6,7,{8,9}};C. float c[sizeof(sin(1))]={1,‘\n’};D. char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1] };2. 如下哪个程序语法、语义都正确,且能获得正确的运行结果(2) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。
B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。
BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。
B.不能用extern定义一个外部变量、数组。
C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。
D.用extern说明引用一个外部数组时,可以不给出数组大小。
5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。
BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( ).A)_1234_ B) _1_2 C)int_2_ D) 2_int_3。
以下定义语句中正确的是()。
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’;则下面语句中错误的是()。
A) a++;B)b++ C)c++;D) d++;5。
以下4个选项中,不能作为一条C语句的是().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;若各变量已正确赋值,则下列选项中正确的表达式是().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;则以下选项中,正确的赋值语句是( )。
A)p=1; B)*q=2;C)q=p; D) *p=5;8。
设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B)scanf(“%d",a);C) scanf(“%d”,&pa); D)scanf(“%d”,*pa);9。
重庆理工大学程序设计c期末考试资料21.以下程序的输出结果是__1____。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}2. 有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是__2+4+1=7____。
在所给的程序中,pa指向二维数组首地址a,接着执行下面的for 循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
3. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是_20___当数组定义后,系统就为其分配内存空间,不论其中有没有内容。
本题虽然只给数组x 赋了3个初值,但系统仍为数组x分配了10个内存空间。
所以数组x在内存中所占字节数为2*10=20。
4. 已有定义:int i,a[10],*p;,则合法的赋值语句是p=a+2.(a+2是a[2]的地址。
)5.ox开头是十六进制。
O开头是八进制。
Int型的范围是-32768~32768.6. 设有如下枚举类型定义enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为___102这个枚举中共有5个元素,前三个已有明确的赋值,而COBOL和Fortran没有明确的赋值,枚举的语法规定当枚举元素没有赋值时,其值为其前一个元素的值加一,所以COBOL的值为101,故Fortran的值应为102。
《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include 〈stdio.h〉的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i〈3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9 B。
12 C.14 D。
15参考答案—D2、设有说明语句:char a= ’\123abc';则变量a __________A. 包含7个字符B.包含6个字符 C。
包含5个字符 D。
包含4个字符参考答案-D 3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A。
无限次B。
有语法错,不能执行 C。
一次也不执行D。
执行1次参考答案—A4、在C语言中,_____。
A。
函数定义可以嵌套,但函数调用不能嵌套 B。
函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do—while语句构成的循环不能用其它语句构成的循环代替.B)do-while语句构成的循环只能用break语句退出。
C)用do—while语句构成的循环,在while后的表达式为非零时结束循环.D)用do—while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D 6、以下关于函数叙述中,正确的是。
A。
在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D。
在函数体中可以调用函数自身参考答案—D 7、以下数组声明语句中正确的是。
A。
int a,a[n]; B。
int a[]; C. int a[2][3]={{1},{2},{3}}; D.int a[][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A。
三一.单项选择题1.设int x=1;y=1;表达式x++ || y--的值是_________A.0 B. 1 C. 2 D.-12.main{ int n;n=64;n+6;n2;printf“n=%d\n”;n;} 此程序的输出结果是______________.A.30 B. 24 C. 60 D. 483.若有如下定义;则__________是对数组元素的正确的引用..int a10 ; p ;p=a ; p=a ; p=a ; p=a ;A. &a10B. a11C. p+10D. p4.设整型变量n的值为2;执行语句“n+=n-=nn;”后;n的值是__________ A. 0 B. 4 C. - 4 D. 25.以下不能正确定义二维数组的语句是___________A . int a22={{1};{2}}; B. int a2={1;2;3;4};C. int a22={{1};2;3};D. int a2={{1;2};{3;4}};6.程序段的功能是将变量 u 、s中的最大值赋给变量t .. A. ifu>s t=u;t=s; B. t=u; ift t=s;C. ifu>s t=s;else t=u; D . t=s; ifu t=u;7.下列程序段的输出结果是 ..void main{ int k;for k=1;k<5;k++〉{ ifk%2=0printf"";elseprintf“” ; } }A. B . C. D. 以上都不对8.设变量定义为 int a3={1;4;7};p=&a2; 则p的值是 35 ..A. &a2B. 4C. 7D. 19.能正确表示a和b同时为正或同时为负的逻辑表达式是_________..A.a>=0||b>=0&&a<0 ||b<0 B.a>=0 && b>=0&&a<0 && b<0C.a+b>0 &&a+b<=0 D. ab>010.C语言中;合法的字符型常数是_________..A.‘A’ B.“A” C. 65 D. A11.设有数组定义:cha r array=”China”; 则数组所占的空间是________..A.4个字节 B.5个字节 C.6个字节 D.7个字节12.若变量c为char类型;能正确判断出c为小写字母的表达式是_______..A.’a’<=c<=’z’ B.c>=’a’ || c<=’z’C.‘a’<=c and ‘z’>=c D.c>=’a’ && c<=’z’13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______..A.printf“x=%d\n”;x B.printf“x=%ld\n”;xC.printf“x=%8dl\n”;x D.printf“x=%LD\n”;x;14.下列关于指针定义的描述;___________是错误的..A.指针是一种变量;该变量用来存放某个变量的地址值的..B.指针变量的类型与它所指向的变量类型一致..C.指针变量的命名规则与标识符相同..D.在定义指针时;标识符前的“”号表示后面的指针变量所指向的内容..15.已知:int x; int y10; 下列______是合法的..A.&x B.&x+3 C.&5 D .&y16.指出下面正确的输入语句__________..A. scanf“a=b=%d”;&a;&b ;B. scanf“%d;%d”;&a;&b ;C. scanf“%c”;c ;D. scanf“% f%d\n”;&f ;17.C语言中以追加方式打开一个文件应选择_______________参数..A.“r” B.“w”C.“rb” D.“a”18.Break语句的正确的用法是 ..A. 无论在任何情况下;都中断程序的执行;退出到系统下一层..B. 在多重循环中;只能退出最靠近的那一层循环语句..C. 跳出多重循环..D. 只能修改控制变量..19. 为表示关系x≥y≥z;应使用C语言表达式A.x>=y&&y>=z B. x>=y AND y>=zC.x>=y>=z D. x>=z&y>=z20.以下可以作为C语言合法整数的是________..A.1010B B. 0368 C.0Xffa D. x2a221.在函数中默认存储类型说明符的变量应该是________存储类型..A.内部静态 B. 外部 C.自动 D. 寄存器二.判断题1. C 语言源程序文件通过了编译、连接之后 ; 生成一个后缀为 .EXE 的文件.. 2.在 C 程序中 ; 函数既可以嵌套定义 ; 也可以嵌套调用..3.在 C 程序中; APH 和 aph 代表不同的变量..4.表达式 0195 是一个八进制整数..5.表达式 _ya是不合法的C语言标识符..6. C程序总是从main 函数的第一条语句开始执行的..7. A-=7等价于a=a-7..8.利用fclose函数关闭已打开的文件..9.数组名可以作为参数进行传递..10.执行printf"%x";12345;; 输出 12345 ..三、填空1.C语言的预处理语句以__________开头..2.表达式7+8>2 && 25 %5的结果是_______________________..3.下列程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环.. int n=0; ch;ch=getchar ;while __________________{ if ________________ n++;c=getchar ; }4.C语言中putcharc 函数的功能是_________________________________.. 5.int p 的含义是___________________________________________..6.定义fp为文件型指针变量的定义方法为_______________________..7.数组 int a34;共定义了____________个数组元素..四、读出程序..1. 改正下列程序中不正确的语句..main{ int a=8 ; b=1;a=a+b;b=ab;printf"%d; %d";a;b; }2.写出下列程序的运行结果..funint a; int b{ ifa>b return a; Else return b; } main { int x=3;y=8;z=6;r; r=funfunx;y;2z;printf“%d\n”;r; }3. 改正下列程序中不正确的语句..main{ int n ;float s=1.0; forn=10;n>1;n- -s=s+1/n;printf“%6.1f\n”;s; }4. 写出下列程序的运行结果..main{ int n;Forn=3; n<=10; n++ { ifn%5= =0 break;Printf“%d”;n; } }5.写出下列程序的运行结果..include “stdio.h”main{ int a={1;2;3;-4;5}; int m;n;p; p=&a0; p=&a0;m=p+2;n=p+4;printf“%d %d %d ”;p;m;n;}五.编程序1.编程计算下列表达式:s=1+2+3+4+……+102.从键盘上输入a与n的值;计算sum=a+aa+aaa+aaaa+……共n项的和..例a=2; n=4; 则sum=2+22+222+2222..3.求3X3矩阵的主对角线元素之和..4.从键盘上输入10个数存入一维数组中;求这10数中的最大值与最小值并输出.. 5.从键盘上输入若干个字符存入文件write.txt中;遇到回车键输入结束..用“\n”表示答案一.单项选择题1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C二.判断题1√2Ⅹ 3√ 4Ⅹ 5Ⅹ 6√ 7√ 8√ 9√ 10Ⅹ三、填空1 号2 03 ch=’\n’ ch>=’0’ && ch<=’9’4 将变量c中的字符显示到屏幕上..5 指针变量p为整型6 FILE fp7 12四、读出程序..1 printf"%d; %d";&a;&b;2 123 s=s+1.0/n4. 3 45 1 3 5五.编程序1.include "stdio.h"main{ long s=0;t=1;int i;fori=1;i<=10;i++{ t=ti;s=s+t;}printf"%ld";s; }2include "stdio.h"main{ int a;n count=1;sn=0;tn=0; scanf"%d %d";&a;&n;whilecount<=n { tn=tn+a;sn=sn+tn;a=a10;++count; }printf"%d";sn; }3.include "stdio.h" main { int a33;i;j;s=0; fori=0;i<3;i++ forj=0;j<3;j++scanf"%d";&aij; fori=0;i<3;i++forj=0;j<3;j++ ifi==js=s+aij;printf"%d";s; }4.include "stdio.h"main{ int a10;max;min;fori=0;i<10;i++scanf"%d";&ai;max=a0;fori=1;i<10;i++ifai>maxmax=ai;min=a0;fori=1;i<10;i++ifai<minmin=ai;printf"%d %d";max;min; } 5.include "stdio.h"main{ int c;FILE fp;fp=open"write.txt";"w"; c=getchar;whilec='\n'{ fputcc;fp;c=getchar;}fclose; }。
《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。
B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C )C 语言源程序经编译形成的二进制代码可以直接运行。
D )C 语言中的函数不可以单独进行编译。
2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( )A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不.相符的是( )A )(a+b)*h/2B )(1/2)*(a+b)*hC )(a+b)*h*1/2D )h/2*(a+b)6、C 语言中用于结构化程序设计的3种基本结构是( )A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下面条件表达式等价的是( )A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#include <stdio.h>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#include <stdio.h>void 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中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);二、填空题(10x2’=20’)11、C语言描述“x和y都大于或等于z”的表达式是:。
试卷代号:7021 C卷《程序设计语言》期末试卷(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)一、单项选择题(每题2分,共40分)1. 以下叙述中不正确的是________。
A)在函数中,通过return语句传回函数值B)在函数中,可以有多个return语句C)在C中,main后的一对圆括号中也可以带有形参D)在C中,函数的调用必需在一条独立的语句中完成2. 在C语言中,正确的实型常数是________。
A)2e B).09 C)3e2.1 D)e53.若一个外部变量的定义形式为static int x ; 其中static的作用是________。
A)将变量存放在静态存储区,使x的值可以永久保留B)使变量x可以由系统自动初始化C)使x的值可以永久保留D)使x只能在本文件内引用4. 以下程序的输出结果是________。
main (){int a = 12 , b = 12;printf (“ %d %d\n”, - - a,+ + b );}A)10 10 B)12 12 C)11 10 D)11 135. 若有下列定义:char c[3],*pc=c; 则对c数组元素地址的正确引用是________。
A)&c[3] B)pc+2 C)c++ D)&c6.语句if (!i ) i++; 中的条件表达式!i 等价于________。
A)i==0 B)i!=1 C)i!=0 D)-i7.C语言中规定,if语句的嵌套结构中,else总是与________配对。
A)与最近的if 配套B)与第一个if 配套C)按缩进位置相同的if配套D)与最近的且尚未配对的if 配套8.当执行以下程序段时________。
x=-1;do { x=x*x; } while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误9.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。
A)双向值传递方式B)地址传递方式C)单向值传递方式D)用户指定传递方式10.已知:float f [ ]={1.0, 2.3 , 4.5}, *pf=f; 则以下哪项不能正确引用数组元素________ 。
A)*pf-- B)*(--pf) C)*(pf++) D)*(++pf)11.设有程序段:“char s[ ]= "char array"; char *p; p=s; ”则下面叙述正确的是。
A)*p与s[0]相等B)s和p完全相同C)s数组长度和p所指向的字符串长度相等D)数组s中的内容和指针变量p中的内容相等12.以下对二维数组c的声明正确的是_____ __ 。
A)int c[3][ ]; B)int c(3,4); C)int c(2)(2); D)int c[3][2];13.定义:float (*pf) ();说明了________。
A)pf是指向一维数组的指针变量B)pf是指向float型数据的指针变量C)pf是指向函数的指针,该函数返回一个float型数据D)pf是一个函数名,该函数的返回值是指向float型数据的指针14. C语言中共用体类型变量在程序执行期间________。
A)所有成员一直驻留在结构中B)只有一个成员驻留在结构中C)部分成员驻留在结构中D)没有成员驻留在结构中15.以下有关宏替换的叙述不正确的是________。
A)宏名必须用大写字母表示B)宏替换不占用运行时间C)宏名不具有类型D)宏替换只是字符替换16.若要“为读/写建立一个新的文本文件”,在fopen函数中应使用的文件方式是____________。
A)“w+”B)“rb+”C)“ab+”D)“wb+”17.两个基类型相同的指针变量之间,不能进行的运算是____________。
A)< B)= C)+ D)-18.程序运行输出了错误的结果,可以排除下列哪一个因素____________。
A)算法错误B)运行时输入数据错误C)未通过编译D)系统资源配置不当19.下列语句中,哪一个可以按照从z到a的顺序输出26个小写英文字母____________。
A)for(i='z'; i>='a'; i++) printf(″%d″,i );B)for(i='z'; i>='a'; printf(″%c″,i--));C)for(i='z'; i>='a'; i++) printf(″%c″,i );D)for(i='z'; i>='a'; --i ) printf(″%d″,i);20.设有说明int (* prt )[5];其中标识符ptr是____________。
A)5个指向整型变量的指针B)指向5个整型变量的函数指针C)一个指向具有5个整型元素的一维数组的指针D)具有5个元素的一维指针数组,每个元素都只能指向整型变量二、程序阅读题(每题3分,共30分)1.以下程序的输出结果是___________。
main ( ){ int i=010,j=10,k=0x10;printf (“%d,%d,%d\n”,i,j,k);}2.写出以下程序的功能。
#include<stdio.h>void main(){ int a,b,s;scanf("%d%d",&a,&b);s=a-b;if (a<b) s=b-a;printf("%d\n",s);}3.以下程序输出的结果是________。
#include<stdio.h>void main(){ int n;for(n=1; n<=10; n++){ if (n%2) continue;printf("%d\t",n); }}4.阅读以下函数,写出此函数的功能。
float fun1(float a[],int n){ int i=1;float result=a[0];for( ; i<n; i++)if (result>a[i]) result=a[i];return result;}5.以下程序的运行结果是。
#include <stdio.h>void f(int a[]){ int i=0;while (a[i]<=10){ printf("%3d",a[i]);i++; }}void main(){ int a[]={12,5,10,9,13,4};f(a+2);}6.以下程序的运行结果是。
#include<stdio.h>int a=8 , b=5;int max(int a,int b){ int c;c=a>b?a:b;return(c);}void main(){ int a=2;printf("%d\n",max(a,b));}7.以下程序的运行结果是。
#include<stdio.h>void inc (){ static int x=0;x+=2;printf("%d",x);}void main(){ inc (); inc ();}8.运行以下程序,若输入:5 7<回车>时,写出程序的输出结果。
#include<stdio.h>void fun(int *p1, int *p2){ int t;t=*p1; *p1=*p2; *p2=t;}void main(){ int x,y;int *p1,*p2;scanf("%d %d",&x,&y);p1=&x; p2=&y;if(x<y) fun(p1,p2);printf("x=%d,y=%d", x, y);}9.写出以下函数的功能。
#include <stdio.h>int f(char *s){ char *p=s;while(*p!='\0') p++;return(p-s);}10.写出以下程序的功能。
#include <stdio.h>main(){ int a[5]={1,5,2,4,3},i,j,t;for(j=1;j<=4;j++)for(i=0;i<=4-j;i++)if(a[i]<a[i+1]){t=a[i]; a[i]=a[i+1]; a[i+1]=t;}for(i=0;i<5;i++) printf("%d",a[i]);}三、程序填空题(每空2分,共20分)1.以下程序用来求数组全部元素的和,请填写缺少的语句。
#include<stdio.h>void main( ){ int a[ ]={0,1,2,3,4,5,6,7,8,9};int s=0 , i, *p;p= ;for (i=0; i<10; i++);printf("sum=%d", s);}2.以下程序的功能是从键盘上输入若干整数,当输入-1时结束输入,统计并输出-1之前的所有整数的最大值和最小值、统计输出共输入几个整数(-1之前),请填空。
void main( ){ int x,amax,amin,n=0;scanf("%d",&x);if(x!=-1){ amax=x;amin=x;}while ( ){if (x>amax) amax=x;if (x<amin) amin=x;;}if(n==0) printf("no valid input\n" );else printf("\nn=%d,amax=%d,amin=%d\n",n,amax,amin);}3.以下函数的功能是返回b的e次幂。
例如,intPow(2,3)的值为2*2*2。
假定e是非0整数,b是整数。
请填空。
int intPow(int b,int e){int result,n;for(n=0; n<e; n++);return result;}4.以下程序的功能是求出输入整数的个位数、十位数和百位数(1000以下的正整数)。
请填空。
#include<stdio.h>void main(){ int x,a,b,c;do{ printf("输入一个1000以下的正整数:");;printf("\n");}while( );if(x<0) x=-x;a=x/100;b=(x-a*100)/10;c= ;printf("%d的个位数是%d,十位数是%d,千位数是%d\n",x,c,b,a);}四、编程题(每题5分,共10分)1.(5分)计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。