C程序04级期末试卷
c语言程序设计(第四版)考试题
c语言程序设计(第四版)考试题C程序设计(第四版)期末考试题本卷共有4道大题:一、单项选择题(20道小题,共20分)1、以下对C语言函数的有关描述中,正确的是( )(1分)A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中2、strcpy库函数用于复制一个字符串。
若有以下定义:char *str1="copy",str2[10],*str3="hijklmn";char *str4,*str5="abcd";则对strcpy库函数的错误调用是( )(1分)A、strcpy(str2,str1)B、strcpy(str3,str1)C、strcpy(str4,str1)D、strcpy(str5,str1)3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"};char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若0<=k<4,下列选项中对字符串的非法引用是( )(1分)A、strpB、str[k]C、strp[k]D、*strp4、以下各选项企图说明一种新的类型名,其中正确的是( )(1分)A、typedef v1 int;B、typedef v2=int;C、typedef v1 int v3;D、typedef v4: int;5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}; int *p,i;p=a;0<i<="" p="">A、&(a+1)B、a++C、&pD、&p[i]6、C语言标准库函数"fgets(string,n,fp)"的功能是( )(1分)A、从文件fp中读取长度为n的字符串存入指针string指向的内存B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存C、从文件fp中读取n个字符串存入指针string指向的内存D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存7、以下叙述中不正确的是( )(1分)A、在函数中,通过return语句传回函数值B、在函数中,可以有多条return语句C、在C中,main后的一对圆括号中也可以带有形参D、在C中,调用函数,必需在一条独立的语句中完成8、若有以下定义:char a;int b; float c;double d; 则表达式a*b+d-c值的类型为( )(1分)A、floatB、intC、charD、double9、以下叙述中正确的是( )(1分)A、输入项可以是一个实型常量,如:scanf("%f",3.5);B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d ,b=%d");C、当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&d);D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);10、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )(1分)A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);11、若变量都已正确定义,a=2;b=3;printf(a>b?"* * *a=%d":"# # #b=%d",a ,b);则程序段( )(1分)A、没有正确的输出格式控制B、输出为:* * * a=2C、输出为:# # # b=2D、输出为:* * * a=2# # # b=212、设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C 语言语法的表达式是( )(1分)A、a=a-=(b=4)*(a=3)B、x%(--3);C、a=a*3=2D、y=float(i)13、假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是( )(1分)A、7B、8C、9D、214、以下标识符中,不能作为合法的C用户定义标识符的是( )(1分)B、printC、WORDD、sizeof15、以下合法的赋值语句是( )(1分)A、x=y=100B、d--;C、x+y;D、c=int(a+b);16、在下列选项中,没有构成死循环的程序是( )(1分)A、int i=100;whine(1) {i=i%1001;if (i>100)break;}B、for (;;);C、int k=1000;do {k;}while(k>=1000);D、int s=36;while(s);--s;17、设a=1,b=2,c=3,d=4,则表达式:a<b?a:cA、4B、3C、2D、118、假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w<x)?w:x;< p="">m=(mA、4B、3C、2D、119、有定义语句:int a=4,b=5,c=6,x;,则以下选项中各程序段执行后,x的值不为6的是( )(1分)A、if (a<6) x=6; else if (a<5) x=5; else x=4;B、if (a<6) x=6; if (a<5) x=4; if (bD、if (c20、在宏定义#define PI 3.14159中,用宏名PI代替一个( )(1分)A、单精度数B、双数度数C、常量D、字符串二、填空题(12道小题,共40分)1、计算机中内存储器的最小存储单位是字节,一个整数占个字节(2分)--------------------------------------------------------------------------------2、一个算法应该具有以下特点:、确定性、有零个或多个输入、有一个或多个输出、有效性(2分)--------------------------------------------------------------------------------3、唯一的一个三目运算符是(2分)--------------------------------------------------------------------------------4、printf("%5.3f\n",123456.12345);输出为(2分)--------------------------------------------------------------------------------5、描述命题“A小于B或小于C”的表达式为(2分)--------------------------------------------------------------------------------6、int i=0,s=0,a[10];while (i<10)s+=a[i++];等价于int i,s,a[10];for()(2分)--------------------------------------------------------------------------------7、已知一数组:a[0]=10,a[1]=20,a[2]=30,a[3]=40,a[4]=50,s 是int型指针,s已指向a[4],现要使s指向a[2],则s=(2分)--------------------------------------------------------------------------------8、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。
2004级C语言程序设计试卷2005-06-26
C语言程序设计试卷(计本04级,信安04级,闭卷,2005年7月)班级学号姓名成绩一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的。
请选择正确的选项并填写到括号内。
选择正确的得分。
每小题1分,共10分)1、“\n”是()A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符2、0xabcdUL是()A、字符型常量B、整型常量C、浮点型常量D、非法常量3、While是()A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符4、不考虑字符串的终结符,字符串"\078ab\t\x30\\\n"的长度是:A、6B、7C、8D、155、88.F是()A、字符型常量B、整型常量C、浮点型常量D、非法常量6、ˊ\x123ˊ是()A、字符型常量B、整型常量C、浮点型常量D、非法常量7、5e5是()A、字符型常量B、整型常量C、浮点型常量D、非法常量本题第8、第9、第10小题参考下列说明:struct node{int i;int j[2];} a[]={{-1,0,1},{1,0,2},{0,-1,3},{0,1,4}};struct node *p=&a[0];8、表达式~a[1].j[0]+1的值是()A、-1B、0C、1D、29、表达式(*(p+1)).i<<2的值是()A、1B、2C、3D、410、表达式(p+2)->j[1]&0123的值是()A、1B、2C、3D、4二、多项选择题(在下面每小题的A、B、C、D四个选项中,有两个或两个以上的选项是正确的。
请选择正确的选项并填写到括号内。
多选、少选、错选均不得分。
每小题2分,共10分)1、以下选项可作为C语言合法常量的是()。
A、1UB、0678C、0XABCDEF12LD、2005F2、以下不能定义为用户标识符的是()。
C语言程序设计期末考试试题(含答案)
一、单项选择题(本大题共20题,每题2分,共40分)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>后(<CR〉表示回车),x的值是().#include<stdio。
h〉main(){intx;floaty;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int (x);9.以下程序的执行结果是()#include〈stdio.h〉{inti=10,j=10;printf(”%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910.巳知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio。
h>main(){charc1='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是()。
完整word版,C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)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>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){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<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){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本科四试题及答案
c本科四试题及答案试题一:1. 在计算机科学中,什么是算法?请给出一个具体的例子。
2. 请简要解释什么是二进制,为什么计算机使用二进制表示数据。
3. 描述一下计算机内存的工作原理。
4. 请解释什么是操作系统,并列出至少三个常见的操作系统。
5. 什么是数据库?请列举三种常见的数据库软件。
答案一:1. 算法是一系列解决问题的规则和步骤。
例如,冒泡排序是一种常见的排序算法,它通过比较相邻的元素并交换它们的位置来将一个数组按升序排列。
2. 二进制是一种使用0和1表示数值的计算机数制系统。
计算机使用二进制表示数据是因为电子设备可以更好地处理和存储二进制信号。
3. 计算机内存是用于存储和读取数据的一块物理硬件。
它工作原理是将数据存储在内存单元中,每个内存单元都有一个唯一的地址,可以通过地址来读取和写入数据。
4. 操作系统是管理计算机硬件和软件资源的程序。
常见的操作系统包括Windows、Mac OS和Linux。
5. 数据库是用于存储和管理数据的软件系统。
常见的数据库软件包括MySQL、Oracle和Microsoft SQL Server。
试题二:1. 什么是物联网?请列举三个应用场景。
2. 描述一下人工智能的概念以及它在现实世界中的应用。
3. 请简要解释什么是区块链技术,并说明其优势。
4. 什么是云计算?列举三个云计算的实际应用。
5. 请列举三种常见的网络安全威胁,并简要描述每种威胁的特点。
答案二:1. 物联网是指将传感器、设备、网络和计算系统连接起来,实现设备间的信息交互和智能控制的网络。
应用场景包括智能家居、智能交通系统和智能农业等。
2. 人工智能是指通过计算机模拟人类智能的能力。
它在现实世界中的应用包括语音助手(如Siri)、无人驾驶汽车和人脸识别技术等。
3. 区块链技术是一种分布式数据库技术,通过将数据分散存储在多个计算机节点上,并使用密码学技术保护数据安全。
其优势包括去中心化、安全性高和透明度等。
完整C语言程序设计期末考试试题含答案推荐文档
C 语言程序设计期末考试试题及其答案一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是C 语言的特点的是( )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C 语言标识符是( )A、ABC B 、abc C、a_bc D、ab.c3、一个C 语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5 个特性,对另外4 个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a 是整型,f 是实型,i 是双精度型,则表达式10+‘a'+i*f 值的数据类型为( )A、intB、float C 、double D、不确定6在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678V。
只>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){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<stdio.h>{int i=10,j=10; printf("%d,%d\n",++i,j--);}A 、11,10B 、9,10C 、11,9D 、10,910、巳知字母 A 的ASCII 码是65,以下程序的执行结果是( ) #include<stdio.h>main() { char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、vB、十C、%D、!=12、设x、y和z是int型变量,且x = 3, y = 4, z= 5,则下面表达式中值为0 是( ) 。
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
15系2004-2005学年第二学期c语言期末考题及解答资料
2007-2008 学年第一学期期末班号学号姓名成绩《 C 程序设计》期末考试卷注意事项:1、此卷为闭卷考试,120分钟完成;2、笔试成绩为卷面成绩*0.7。
一、选择题 (20分) 1, 下列运算符中最高优先级的运算符是 DA) && B) % C) -= D)!2, 对定义语句int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i=5;数组元素地址的正确表示是DA)&(a+1) B)a++ C)&p D)&p[i]3, 以下结构定义,请指出不正确赋值语句是struct date{int month;int day;int year;};struct student{int num;char name[20];char sex;struct date birthday;float score;char addr[30];}stu1,stu2;A) stu1.num=10; B) stu1.score+=stu2.score;C) stu1=stu2; D) stu1.birthday.month=12;4,以下程序:#include <stdio.h>void main(){FILE *fp;fp=fopen(“f1.txt”,”w”);fprintf(fp,”abc”);fclose(fp);}若文本文件f1 .txt中原有内容为good,则运行以下程序后文件f1.txt中的内容为AA) abc B)abcd C) goodabc D) abcgood5,以下程序的运行结果是int f(int i){static int n=1;return n=n*i;}int main(){int i;for (i=1;i<5;i++) printf(“%3d”,f(i));printf(“\n”);} BA)1 2 3 4 B)1 2 6 24 C)1 2 4 6 D)1 3 6 24二、填空题 (30分)1, 若有定义double x; (5分)(1)使指针p可以指向变量x的定义语句是______double *p;___________(2)使指针p指向变量x的赋值语句是________p=&x;________(3)通过指针p给变量x读入值的scanf函数调用语句是____scanf(“%lf”,p);____________(4)通过指针p给变量x赋值语句是______*p=1.0;_____________(5) 通过指针p输出x的值的语句是_______printf(“%lf”,*p);____________ 2,以下函数用以求x的y次方。
2004级计算机网络技术《C语言程序设计》试卷(A)
2004级计算机网络技术《C语言程序设计》试卷(A) 姓名学号班级成绩一、选择题(每小题1分,共40分)(1)在下列各组符号中,哪一组可用做变量名()A) A3B 3aB $ +aB) *x _b5_ ifC) next_day longD) A3B 3aB _b5_(2)十进制数127转换成二进制数为()A)11111111 B)01111111 C)10000000 D)11111110(3)结构化程序设计所规定的三种基本控制结构是()A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环 D)主程序、子程序、函数(4)用C语言正确描述“A小于B或小于C”的是( )A) A〈B||A〈C B〉A〈B or A〈CC) A〈B + A〈C D〉 A〈B&& AC(5)英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为()A)50 B)66 C)52 D)68(6)若有定义:int a=8, b=5, c ; , 执行语句c=a/b+0.4; 后,c的值为()A)1.4 B)1 C)2.0 D)2(7)若变量a是int类型,并执行了语句:a=‘A’+1.6; , 则正确的叙述是()A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加D)a是值是字符‘A’的ASCII值加上1。
(8)以下程序段的输出结果是()int a=1234;printf (“%2d/n”,a);A)12 B)34C)1234 D)提示出错、无结果(9)有如下变量定义:int k=7,x=12;则能使值为3的表达式是( )A) x%=k+2 B)x-k,k+k,x+kC)x%=k-k%5 D)x%=k)-(k%=5)(10)若有说明语句:int a,b,c,*d=&c;,则能正确从健盘读入三个整数分别赋给变量a、b、c的语句是()A)scanf(“%d%d%d”,&a,&b,d);B)scanf(“%d%d%d”,&a,&b,&d);C)scanf(“%d%d%d,a,b,d); D)scanf(“%d%d%d”,a,b,*d);(11)以下叙述中正确的是( )A)输入项可以是一个实型常量,例如:scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);C)当输入一个实型数据时,格式格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2”,&f);D)当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);(12)以下叙述正确的是()A)可以把define 和if定义为用户标识符B)可以把define定义为用户标识符,但不能把if定义为用户标识符C)可以把if定义为用户标识符,但不能把define定义为用户标识符D)define和if都不能定义为用户标识符(13)若定义:int a=511, *b=&a; ,则printf(“%d/n”, *b);的输出结果为()A)无确定值 B)a的地址 C)512 D)511(14)设x和y均为int 型变量,则以下语句的功能是()x+=y; y=x-y; x-=y;A) 把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值(15)下面关于函数类型的说法哪一种是正确的()A)函数类型是由参数决定的 B)函数类型是由系统自动决定的C)函数类型就是返回值的类型 D)函数类型是由函数的原型说明决定的(16) 用C语言正确描述“a和b都大于c”的是( )A)a>b>c B)a>b && b>c C)a>b and b>c D)a>b || b>c(17)以下程序的输出结果是()main(){ int a=4,b=5,c=0,d;d=a&&b‖c;printf(“%d\n”,d);}A)1 B)0 C)非0的数 D) -1(18)以下程序的输出结果是()main(){ int a=12,b=12;printf(“%d%d\n”,--a,++b);}A)10 10 B)12 12 C)11 10 D)11 13(19) 表达式!x 等价于_____。
2003-2004计算机(专)C语言期末考试(A卷)
2003-2004第二学期C语言考试试题(闭卷)A卷(注意:答案写在答题纸上,否则无效)应用班级:计算机系0304-0316专科班班级:学号:姓名:总分:一、填空(每空1分,共9空,共9分)1.执行a=10>8*2?3+5:3*2;后,a的值是2.设int i=10;则执行j=++i;后j的值为3.(!x)==(x!=0)的值为4.能表示一个整数即是奇数又是3的倍数的表达式是5.定义一指向整型数据的指针变量p的语句是6.C语言中三种常用的循环控制结构是循环、do---while 循环和循环。
7.int a[9]; 则a数组的下标范围是8.对应scanf("a=%d,b=%d",&a,&b);语句的输入a为3,b为7的键盘输入格式是二、选择(每小题2分,共15小题,共30分)1.C语言中,要求运算数必须是整型的运算符是()(A) % (B) / (C) < (D) !2.表达式10!=9的值是()(A) 0 (B) 1 (C) true (D) false3.连接两个字符串的C语言库函数是()(A) strcmp (B) strcpy (C) strcat (D) strlen4. 以下定义整型3行4列的二维数组a并初始化不正确的是( )(A) int a[3][4]={0};(B) int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12};(C) int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12};(D) int a[3][4]={{1,2},{1,2,3},{1,2,3,4}};5.有如下程序,该程序的执行结果是( )main(){ int i,sum=0;for(i=1;i<=3;i++)sum+=i++;printf("%d\n",sum); }(A) 6 (B) 3 (C) 死循环(D) 46.有如下程序, 该程序的输出的结果是( )int addc(int a,int b,int c) { c=a+b;return(c); }main(){ int x=4,y=2,z,r;z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf("%d\n",r); }(A) 36 (B) 12 (C) 14 (D) 67.有如下程序,该程序的输出结果是( )long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));elseif(n= =2) return(2);else return(1); }main(){ printf("%d\n",fib(4)); }(A) 3 (B) 4 (C) 5 (D) 68.以下程序的输出结果是( )main(){ int a;for(a=1;a<=100;a++)if (a%3= =0)a+=3;printf("%d\n",a); }(A) 100 (B) 101 (C) 102 (D) 1039.以下程序的输出结果是( )void fun(int *a,int b){ *a=2; b=5; }main(){ int a=3, b=7;fun(&a,b);printf("%d%d\n", a,b); }(A) 25 (B) 37 (C) 35 (D) 2710. 以下程序的输出结果是( )#define MAX(x,y,z) x*(y)+zmain(){ int a=1,b=2, c=3;printf("%d\n", MAX(a+b,b+c, c+a)); }(A) 12 (B) 15 (C) 19 (D) 2211.以下程序运行后的输出结果是( )main(){ int i=5, j=0;do{ j=j+(--i); }while(i<2);printf("%d\n",j); }(A) 4 (B) 5 (C) 6 (D) 912.以下程序的输出结果是( )int f(int b[],int m,int n){ int i,s=1;for(i=m;i<n;i++){ b[i]=b[i-2]+ b[i+2];s+=b[i]; }return s; }main(){ int x,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,4,7);printf("%d\n",x); }(A) 22 (B) 26 (C) 42 (D) 64 13.以下程序的输出结果是( )int func(int n){ static int m=0;m=m+n;return(m); }main(){ int i,a=0;for(i=1;i<=4;i++)a+=func(i);printf("%d\n",a); }(A) 10 (B) 15 (C) 20 (D) 2214.下列程序的输出结果是( )struct student{ int a, b, c; };main() { struct student stu[2]={{1,2,3},{4,5,6}}; int t;t=stu[0].a+stu[1].b%stu[0].c;printf("%d \n",t); }(A) 0 (B) 1 (C) 3 (D) 515.以下程序的输出结果是( )main(){ int a=0,i;for(i=0;i<5;i++){ switch(i){ case 0:case 3:a+=2;case 1:case 2:a+=3; break;default:a+=5;} }printf("%d\n",a); }(A) 10 (B) 15 (C) 21 (D) 36三、程序填空(每空3分,共7空,共21分)1.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。
2004年C语言考题(A卷)
北京航空航天大学自动化学院试卷(共7页)2004 ~ 2005学年第 1 学期班级:学号:姓名: . 考试科目: C语言程序设计(A卷)成绩:分说明:1、本试卷满分为100分。
2、闭卷考试,试卷不得拆开,不允许自带草稿纸。
3、填空题与选择题答案直接写在试卷上,做在草稿纸上无效。
一.填空题: (每空1分,共10分)1、一个C程序是由若干函数构成的,其中必须有一个函数。
2、表达式1 +2/3 + 4%5 + (6>7) +(8, 9)的值是。
3、执行printf(“%d,%d”,(i=j,++i),(j=5,j++)); 输出结果为。
4、判断变量c中是数字字符的逻辑表达式是。
5、设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c 为char型变量,则表达式c+*+//的结果类型为。
x+yybxa6、若有说明int x=10,y=20;,请写出printf(“%3x\n”, (x%y, x-y, x+y))语句对应的输出结果是。
7、设int j = 10; 执行j + = j*j; 后j的值是。
8、设float (*pf) ( ), *qf( );pf与qf的意义分别是和。
9、设宏定义 #define D(x) x/x则引用D(2+3)后的值是。
二.单项选择题 : (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题1分,共10分)1.以下正确的 C语言标识符是:()(A) %x (B) a+b (C) a123 (D) test!2.下列运算符中优先级最低的是()(A) ++(B) ( ) (C) →(D) +=3.设int i=0,j=1,k=2,a=3,b=4,c=5;执行表达式(a=i<j)&&(b=j<k)&&(c=i,j,k)后,a,b,c的值分别是()(A) 1,1,5 (B) 1,0,2(C) 3,4,5 (D) 1,1,04.设int a=1,b; 执行下列switch语句后,b获值为2的是()(A) switch(a) (B) switch(a){ case 1: b=1; { case 1: b=1; break;case 2: b=2; case 2: b=2; break;default : b=3; default : b=3; break;} }(C) switch(a) (D) switch(a){ case 1: b=1; { case 1: b=1; break;case 2: b=2; break; case 2: b=2;default : b=3; default : b=3;} }5. 下列程序段运行后,输出GOOD的行数是()int i,j,k;for(i=1;i<3;i++)for(j=1;j<3;j++)for(k=i;k<j;k++) printf("GOOD\n");(A) 27 (B) 3 (C) 1 (D) 96. 二维数组正确的初始化是()(A)char str[][3]={“a ”,”1”};(B)char str[][3]={‘abc’,’4’};(C)char str[3][]={“a”,”1”};(D)char str[][3]=‘a’,’1’,’t’;7. 以下各判断是否为素数的函数中(是素数返回1,不是素数返回0),正确的是()(A) (B)#include <math.h> #include <math.h>prime(int n) prime(int n){ {for(int i=2;i<=sqrt(n);i++) for(int i=2;i<=sqrt(n);i++)if(n%i==0) if(n%i==0)return 0; return 1;else elsereturn 1; return 0;} }(C) (D)#include <math.h> #include <math.h>prime(int n) prime(int n){ {for(int i=2;i<=sqrt(n);i++) for(int i=2;i<=sqrt(n);i++)if(n%i==0) break; if(n%i==0)return 0; return 0return 1; return 1;} }8、以下程序段()int x=-1;do{x=x*x;printf("%d\n",x);}while(!x);A.是死循环 B. 循环执行两次C. 循环执行一次D. 有语法错误9、对于函数,下列叙述中正确的是()A.在调用某函数前,必须对该函数作原型说明,否则一定出错。
南昌大学C语言2004~2005学年第二学期期末考试试卷(答案已上传)
2.源程序如下: main() { char ch[2][5]={“6937”, “8254”},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>’\0’;j+=2) s=10 *s+p[i][j]-‘0’; printf(“%d\n”,s); } 程序运算后的结果为:
第 2 页 共 8页
17.下列选项中,不正确的 if 语句是 。 A) if ( a > b ) printf ( “ %d ” , a ); B) if ( a > b ) m = a else m = b; C) if ( 3 ) a = m ; else a = n; D) if ( a > 0 ) ; else { a = n; } 18.以下程序的输出结果是 。 # include <stdio.h > fun ( int a , int b , int m ) { m=a*b; return ; } main ( ) { int m = 1; fun ( 2 , 3 , m ) ; printf ( “ %d \n ” , m ) ; } A) 1 B) 2 C) 3 D) 6 19.若有定义:int a = 511 , * b = & a ; ,则 printf ( “ % d \ n ” , * b ) ; 的输出结果 。 为 A) 无确定的值 B) a 的地址 C) 512 D) 511 20.以下程序的输出结果是 。 # define ADD ( x ) x + x main ( ) { int m = 1 , n = 2 , k = 3 , sum ; sum = ADD ( m + n ) * k ; printf ( “ sum = %d \n ” , sum ) ; } A) sum = 9 B) sum = 10 C) sum = 12 D) sum = 18 21.已知 int i , x [ 3 ] [ 4 ] ; ,则不能将 x [ 1 ] [ 1 ] 的值赋给变量 i 的语句 是 。 A) i = * ( * ( x + 1 ) + 1 ) B) i = x [ 1 ] [ 1 ] C) i = * ( * ( x + 1 ) ) D) i = * ( x [ 1 ] + 1 ) 22.以下函数的类型是 。 fun ( float x ) { printf ( “ %d \n ” , x * x ) ; } A) int B) float C) void D) 无法确定 23.设有语句:char str1[ ] = “string”, str2 [ 8 ], * str3, * str4= “string” ; , 则下列选项 。 中,不是对库函数 strcpy 的正确调用的是 A) strcpy ( str1, “hello1”); B) strcpy ( str2, “hello2”); C) strcpy (str3, “hello3”); D) strcpy (str4, “hello4”); 24.已有定义 int ( * p ) ( ) ; , 则指针 p 可以 。 B) 指向函数的入口地址 A) 代表函数的返回值 C) 代表函数的类型 D) 代表函数返回值的类型 25.以下能正确进行字符串赋值操作的是 。 A) char * s ; * s = “apple” ; B) char * s ; s = “apple” ; C) char s[8] ; s = “apple” ; D) char s[8] ; * s = “apple” ; 26.以下符合 C 语言语法的赋值表达式是 。 A) d = 9 + e + f = d + 9 B) d = e + = d + 9 C) 5 = d + e + f D) d = 9 + e , f + 3 = d + 9 27.设有如下说明语句: struct stud { int a ; float b ; } studtype ; 则下面的叙述中,不正确的是 。
c语言04-05秋试卷及答案
(041)上海大学2004-2005年秋季学期试卷2004.11课程名:程序设计基础(C) 学分: 5 学号:姓名:学院/教师:考生注意:1.试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答题纸上,交卷时将试卷和答题纸一起交上;3.不遵守上述者将不给予登记考试成绩。
一、基础题(23分,第1题3分,其它小题2分)1.分别计算表达式的值:(200 & 15)、(200 >> 4) & 15、200 ^ 15。
2.分别计算表达式的值:441%(int)41.1、(float)411/(41+(41-4)/4)。
3.已知int a=4,b=11,c=41,x; 则执行x =(b>2+a++) ? b+400 : c;后,x与a的值分别是多少。
4.已知float x=123.456; 分别计算表达式的值:(int)(10*x+0.5)/10.0、x-(int)x5.假设对n(n>0)个学生按下列方法进行分班:每班k(k>0)个学生,最后一个班若不足k人也单独编成一个班。
写出表达式表示所编班的个数。
6.85分以上(含)为1档成绩,60分以上(含)85分以下为2 档成绩,60分以下为3档,请写出成绩s所对应的档次表达式。
7.写出逻辑表达式:正整数n是一个三位数。
8.已知int a[10]; 试写出输入语句:输入整数a[5]。
9.已知FILE *fp; 试使用fp变量写出语句:以写方式打开文本文件“C:\myTest.TXT”。
10.已知char *pc[]={ "Shanghai", "Beijing", "Guangzhou" };计算表达式strlen(pc[1])*strlen(pc[2])与pc[0][4] – *(*(pc+2)+2)的值。
11.已知struct fs { int fz; int fm; } x[]={{2,7}, {4,9}};计算表达式x[0].fz*x[1].fm+x[1].fz*x[0].fm和x[0].fm*x[1].fm的值。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
C语言程序设计期末考试卷及答案.doc
..C语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
C语言程序设计期末考试卷及答案
C 语言程序设计期末考试卷及答案一、单项选择题;从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内 每小题1分,共计30分;1.一个C 语言程序的执行是从 ;A 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B 本程序的main 函数开始,到main 函数结束C 本程序的main 函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序的main 函数结束 2.下列选项中不属于...C 语言关键字的是 ;Aswitch Bprintf Cdefault Dcase3.设有语句 int a = 4; ,则执行了语句 a += a -= a a; 后,变量a 的值是 ; A24B -24C4D164.已知int i;float d;,则正确的表达式是 ; Aint d Bintd%i Cintd%i Dintd%i5.已知int i,a;,执行语句i=a=39,a/5,a+11; 后,变量i 的值是 ; A5B16C27 D386.下列选项中合法的字符型常量是 ; A"a"B'\n'C"\n" Da7.下面程序的运行结果是 ;include <stdio.h> void main { int k = 15;printf"k = %d,k = %o,k = %x\n",k,k,k; }Ak = 15,k = 15,k = 15 Bk = 15,k = 17,k = 17 Ck = 15,k = 017,k = 0xf Dk = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf"%d%d%d",&a,&b,&c;使得a 为10,b 为20,c 为30,以下不正确...的输入形式是 ; A10 B10 C10,20,30 D10 20 20 20 30 30 309.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是 ; ifx>y z=x;x=y;y=z; printf"%d,%d,%d",x,y,z; A1,2,3B2,3,3C2,3,1D2,3,210.若变量c 为char 类型,能正确判断出c 为大写字母的表达式是 ; A'A'<=c<='Z' B'A'<=c||c<='Z' CA<=c&&c<=Z D'A'<=c&&c<='Z'11.有以下程序段:int k=0;whilek=1 k++;while 循环执行的次数是 ;------------------------------------------第----------------------------2----------------------------装---------------------------------------线---------------------------------------------班级 姓名 学号------------------------------------------第----------------------------1----------------------------装---------------------------------------线--------------------------------------------A无限次B有语法错,不能执行C一次也不执行D执行1次12.以下程序的输出结果是;void main{int x=1,a=0,b=0;switchx{ case 0:b++;case 1:a++;case 2:a++;b++; }printf"a=%d,b=%d",a,b;}Aa=1,b=0 Ba=1,b=1 Ca=2,b=1 Da=2,b=2 13.若有定义int i = 1;,执行语句while i < 10 i++; 后,i的值为 ; A9 B10 C11 D1214.有说明语句int a ={1,2,3,4,5};,则数组a包括了个元素;A10 B5 C6 D不确定15.以下程序段执行后,输出结果是 ;char str="abc\n\012\\\n";printf"%d",strlenstr;A5 B6 C7 D1316.若有以下定义:float t54;,能正确引用t数组元素的表达式是 ;At14 Bt50 Ct00 Dt0,017.执行下列程序段:int i,s = 0;int a 3 = {{1,2},{3,4},{5,6}};for i = 0;i < 3;i++s = s + aii;则s的值是 ;A5 B6 C12 D2118.下述对字符数组的描述中,错误..的是 ;A字符数组可以存放字符串B字符数组中的字符串可以整体输入输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较19.设有宏定义define Yx x+ 2 ,则下面程序段的运行结果是 ;int a = 2,b = 2,c = 1;printf"%d\n",a Y b + c ;A7 B8 C9 D1020.若用数组名作为函数调用的实参,传递给形参的是;A数组的长度B数组第一个元素的值C数组中全部元素的值D数组的首地址21.下面叙述中,不正确...的是 ;A在不同的函数中可以使用相同名字的变量B函数中的形式参数是局部变量C在一个函数内定义的变量只在本函数范围内有效D在一个函数内的复合语句中定义的变量在本函数范围内有效22.若在程序中定义了以下函数:float max float a ,float b{ return a>b a:b; }并将其放在主调函数之后,则在调用之前应该对该函数进行声明,以下选项中错误..的声明是 ;A float max float a,b ;B float max float ,float ;C float max float a ,float b ;D float max float x ,float y ;23.要使函数体内的某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,该变量的存储类型应是 ;A autoB externC staticD register24.类型相同的两个指针变量之间不能..进行的运算是 ;A+ B- C= D==25.若有说明语句:int i, x34 ;,则不能..将x11的值赋值给变量i的语句是 ;Ai = x + 1 + 1 ; Bi = x11;Ci = x + 1 ; Di = x1 + 1 ;26.有如下程序段:int a6 = { 1,2,3,4,5,6 };int m,ptr;ptr = &a0;m = ptr ptr + 2 ptr + 4 ;执行该程序段后,m的值为 ;A 15 B48 C24 D827.设有定义:enum team{ my,your=4,his,her = his+10};则枚举元素my、your、his、her的值分别是 ;A0 1 2 3 B0 4 0 10 C0 4 5 15 D1 4 5 1528.下面程序的运行结果是 ;union myun{ struct{ int x,y,z; }u;int k;}a;void main{ a.u.x = 4;a.u.y = 5;a.u.z = 6;a.k = 0;printf"%d\n",a.u.x;}A4 B0 C5 D629.表达式11 & 18的值是 ;A0 B1 C2 D27 30.当顺利执行了文件关闭操作后,fclose函数的返回值是 ;A 0 Btrue C -1 D 1二、填空题每小题2分,共计20分;1.C语言源程序编译后生成程序,然后经过连接生成可执行程序;2.实型常量有两种表示方法:小数形式和;3.rewind函数的功能是;4. 若ch是字符型变量,与ch=getchar;功能相同的语句是; 5.以下程序段要使指针变量p指向一个整型的动态存储单元,请填空;int p;p= mallocsizeofint;6.已知:int p,a = 2,b = 1;,则执行程序段p = &a;a = p + b; 后,a的值为; 7.已知:int x = 1, y = 2, z;,则执行z = x > y ++x : ++y;后,z的值为; 8.当执行下面程序且输入:ABC<回车>时,输出的结果是 ;include <stdio.h>void main{ char ss10 ="12345";getsss;printf“%s\n”,ss;}9.下面程序的功能是用函数的递归调用求nn≥1,请填空;float fint n{ if n==1 return1;else return ;}void main{ int n;scanf"%d",&n;printf"%.0f\n",fn;}10.以下程序执行后的输出结果是 ;void main{ int a = 3,b = 1,t;t = a << 2 | b;printf"%d\n",t ;}三、程序阅读题每小题4分,共计20分;1.以下程序执行后的输出结果是;include <stdio.h>void main{ int i;for i = 1;i <5;i++putchar‘’;}2. 以下程序执行后的输出结果是;void main{ int arr10={-1,2,3,4,-5,6,7,-8,9,0},i,k = 0;for i = 0;i <10;i ++ifarri<0 k++;printf"%d\n",k ;}3.以下程序执行后的输出结果是;void funint a10{int i,j,t;for i=0;i<9;i++for j=0;j<9-i;j++if aj>aj+1{t=aj;aj=aj+1;aj+1=t; }}void main{int i;int a10={4,3,5,1,0,8,2,6,7,9};funa;for i=0;i<10;i++printf"%3d",ai;printf"\n";}4.以下程序执行后的输出结果是;include <stdio.h>struct stu{ int x;int y;}p;int a2 = {10,20};struct stu aa2 = { 150,&a0,250,&a1};void main{ p = aa;printf"%d\n",++p-> x ; } 5.以下程序执行后的输出结果是;void swap int p1 ,int p2{ int k;k = p1;p1 = p2;p2 = k;}void main{ int a = 3,b = 6,x = &a,y = &b;swap x,y ;printf"%d,%d\n",x,y ;}四、程序改错题共2小题,每正确修改一处错误得2分,共计10分;注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果;1.下列程序的功能是计算数列1,3,5,…,2n-1,…的前n项之和,其中n由键盘输入;void main{int s=0,n,i=1;scanf"%d",n; / 1该行有错误/do{ s=s+i;i=i+2; }while i>2n-1; / 2该行有错误/printf"s=%d\n",s;}2.下列给定的程序中,函数average的功能是:求10个数的平均值;include <stdio.h>float averagefloat array{ int i;float aver,sum; / 1该行有错误/for i=0;i<10;i++sum=arrayi; / 2该行有错误/ aver=sum/10;returnaver;}void main{ float data10,aver;int i;printf"Please input 10 data:\n";for i=0;i<10;i++scanf"%f",&datai;aver=averagedata0; / 3该行有错误/printf"averege data is %5.2f\n",aver;}五、程序设计题共3小题,第1小题6分,第2、3小题各7分,共20分;1.输入x,计算并输出下列分段函数y的值结果保留2位小数;2.在一个已排序的整型数组设从小到大中,插入一个整数,使之仍然有序要求数组中原有的10个整数从键盘按顺序输入;3.请先编写一个函数concatchar str1 ,char str2 ,实现两个字符串的连接注意不要用strcat函数;再编写一个main 函数进行测试:在主函数中输入两个字符串,然后调用concat函数,最后将连接后的字符串输出;参考答案一、单项选择题;从A、B、C、D四个选项中,选择一个最佳答案填入括号内每小题1分,共30分,错选、漏选、多选均不得分;⎪⎩⎪⎨⎧>-≤≤<=)15(5.105.2)150(34)0(xxxxxy二、填空题每小题2分,共20分,错填、漏填均不得分;三、程序阅读题每小题4分,共20分说明:对于程序阅读题,如果该题考生所给出的答案仅仅是书写格式上的错误,没有其它方面错误,扣1分,否则该题不得分;四、程序改错题共2小题,每正确修改一处错误得2分,共计10分; 注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果;1. 1scanf"%d",&n;2while i<=2n-1; 2.1float aver,sum=0;2sum=sum+arrayi; 或者改为sum+=arrayi; 、sum=sum+array+i; 、sum+= array+i;sum=sum+array+i;也正确3aver=averagedata; 或者改为aver=average&data0; 也正确五、程序设计题共3小题,第1小题6分,第2、3小题各7分,共20分评分总则:若考生给出的程序语法正确,符合要求,能够实现具体功能,即可得满分;若程序存在错误,不能得出正确结果,阅卷教师酌情给分,给分方法参考下列评分标准; 1源程序代码include <stdio.h> main{float x,y; …… 1 分 printf"input x:";scanf"%f",&x; …… 2 分ifx<0 y=0;else if x<=15 y=4x/3;else y=2.5x-10.5; …… 2 分printf"y=%.2f\n",y; …… 1 分}2源程序代码include "stdio.h"main{int a11,i,b;printf"imput 10 sorted integer number:\n";for i=0;i<10;i++scanf"%d",&ai; …… 2 分printf"input an integer:\n";scanf"%d",&b; …… 1 分for i=9;i>=0&&ai>b;i--ai+1=ai; …… 2 分ai+1=b; …… 1 分printf"sorted numbers:\n";for i=0;i<11;i++printf"%5d",ai; …… 1 分}3源程序代码include <stdio.h>include <string.h>void concatchar str1,char str2 …… 1 分{int i,j;j=strlenstr1; …… 1 分for i=0; str2i='\0'; i++{str1j=str2i;j++;} …… 1 分 str1j='\0'; …… 1 分} main{ char str120,str220;printf"input two string:\n";getsstr1;getsstr2; …… 1 分 concatstr1,str2; …… 1 分 putsstr1; …… 1 分}。
c本科四试题及答案
c本科四试题及答案一、选择题(每题2分,共20分)1. 以下哪项是C语言中合法的标识符?A. 2variableB. variable2C. _variableD. variable$答案:C2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构答案:D4. 在C语言中,以下哪个运算符用于比较两个数是否相等?A. ==B. !=C. <=D. >=答案:A5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strcat()B. strcpy()C. strlen()D. strcmp()答案:C6. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B7. C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B8. 在C语言中,以下哪个关键字用于声明一个函数的返回类型?A. intB. voidC. returnD. function答案:A9. C语言中,以下哪个运算符用于执行算术运算?A. %B. +C. &&D. ||答案:B10. 在C语言中,以下哪个函数用于将浮点数转换为字符串?A. sprintf()B. printf()C. scanf()D. atoi()答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语句是___________。
答案:int variable;2. C语言中,用于输出的函数是___________。
答案:printf();3. 用于在C语言中声明一个字符型变量的关键字是___________。
2004级C++面向对象程序设计试题A-计算机学院2005年冬天
2005-2006学年第1学期2004级《C++面向对象程序设计》期末考试试题(A卷)考试时间:2006年1月8日班级学号姓名✧本试卷满分100分;✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、单选题(共10分,每题1分)1.已知f1和f2是同一类中的两个成员函数,若f1的实现代码体内不能调用f2,则最可能的情况是:(A)f1和f2都是静态函数(B)f1是静态的,f2不是(C) f1不是静态的,f2是静态的(D)f1和f2都不是静态函数2.一个对象所占的内存空间中可以保存下面哪类数据?(A) 静态数据成员(B) 内联函数代码(C) 所有成员函数的入口地址(D) 虚函数表的入口地址3.下面关于new 和delete操作符的说法,哪个是不正确的:(A) 使用new操作符,可以动态分配全局堆中的内存资源。
(B) 用new申请的数组,必须用delete[] 释放。
(C) 用new申请的空间,即使不调用delete释放掉,当程序结束时也会自动释放掉。
(D) 执行语句A * p=new A[100];时,类A的构造函数会被调用100次。
4.下列哪种函数可以是虚函数:(A) 自定义的构造函数(B) 拷贝构造函数(C) 静态成员函数(D) 析构函数5.C++的最小编译单位是:(A) 工程中每个.cpp和.h文件(B) 工程中每个.cpp文件(C) 工程中每个.h文件(D) 工程中所有文件6.下面表达式中不可能作为左值(赋值运算符左侧)的是:(A)a=b (B)*p (C)f(a,b) (D)&a7.在实现函数A& f(A & obj)时,下面的哪一个表达式可以出现在return 语句中?(A)new A( ) (B)obj (C)&obj (D) new A(obj)8.判断类A的两个对象a1与a2是否是同一个对象的方法是:(A)利用调试器,查看a1与a2各成员数据的值是否相等(B)重载 == 运算符,用它来判断各成员数据的值是否相等。
04年夏C语言程序设计期末考试A卷标准答案
执行后输出结果是
2.有以下程序
main(){ int x[10]={8,19,6,5,11,3,22,16,3},*s;
s=x+4;
printf("%d\n",s[3]);}
执行后输出结果是
3.以下程序的运行结果为
main( )
{ int aa[4][4]={{1,15,7,8},{2,11,27,5},{30,5,9,12},{4,9,10,3}};
#include <stdio.h>
main(){ FILE *fr; char str[40];
……
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);}
5.有以下程序
main(int argc,char *argv[])
{ int n,i=0;
while(argv[1][i]!='\0')
temp=str[n-1];
str[0]=temp;
for(i=n-1;i>0;i--) str[i]=str[i-1];}
main(){ char s[50]; int n, i, z;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学年第学期考试卷
课程程序设计基础考试形式(开/闭卷,考试/查)信息与机电工程学院系专业班级
学号姓名
一、选择题(每题1分,共10分)
1、一个C语言源程序是由()。
A、一个主程序和若干个子程序组成
B、一个或多个函数组成
C、若干个过程组成
D、若干个子程序组成
2、以下不正确的C语言标识符是()。
A、ABC
B、abc
C、a_bc
D、ab.c
3、设n=10,i=4,则运算n%=i-1执行后,n 的值是()。
A、0
B、3
C、2
D、1
4、设int a=4,b=2,则++a-b的结果为(),a的结果为();b的结果为()。
A、2
B、3
C、4
D、5
5、C语言用()表示逻辑“假”的值。
A、true
B、t或y
C、非零整数值
D、整数0
6、对于for(表达式1;;表达式3)可以理解为()。
A、for(表达式1;0;表达式3)
B、for(表达式1;1;表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
7、在定义int a[10];之后,对a的引用正确的是()。
A、a[10]
B、a[6.3]
C、a(6)
D、a[10-10]
8、以下不正确的叙述是()。
A、宏替换不占用运行时间
B、宏名无类型
C、宏替换只是字符替换
D、宏名必须用大写字母表示
二、填空题(每空2分,共20分)
阅读以下C代码,将答案填入___(n)___内。
[程序1]
#include <stdio.h>
int p(int k,int a[])
{int m,i,c=0;
for(m=2;m<=k;m++){
for(i=2; i<=m;i++)
if(!(m%i)) break;
if(i==m) a[c++]=m;
}
return c;
}
#define MAXN 20
void main ( )
{int i,m,s[MAXN];
m=p(13,s);
for(i=0;i<m;i++)
printf("%4d\t",s[i]);
printf("\n");
}
函数int p(int k,int a[])的功能是(1)__________________。
[程序2]
本程序找出正文文件“st.dat”中的各个不同整数。
该正文文件中各整数间以空格字符、TAB符(制表符)、回车符分隔。
程序中用数组b[]存贮不同的整数,变量k为已存入数组b中的不同整数的个数,并假定文件中的不同整数个数不超过1000个。
#include<stdio.h>
#define N 1000
main ( )
{ FILE ___(2)___;
int b[N],d,i,k ;
if ((fpt=fopen(“st.dat”,”r”)==NULL) { /* 以读方式打开文件*/
printf (“Cannot open file.\n”);
return;
}
k=0;
while (fscanf (___(3)___)==1) { /* 从文件中读一个整数*/
b[k]=d;
for (i=0;b[i]!=d;i++);
if (i==k) k++;
}
fclose(fpt);
for (i=0;i<k;i++) printf (“%d”, b[i]);
printf (“\n”);
}
[答案] (2)________________________________________
(3)________________________________________
[程序3]
#include <stdio.h>
void s(int a[],int n)
{int i,j,t;
for (i=0;i<n;i++){
for(t=a[i],j=i-1;j>=0&&t<a[j];j--)
a[j+1]=a[j];
a[j+1]=t;
}
}
main( )
{int i,c[]={15,3,8,9,6,2};
s(c,6);
for(i=0;i<6;i++)
printf("%4d\t",c[i]);
printf("\n");
}
程序3的输出结果是(4)______________;
函数s(int a[],int n)的功能是(5)_________________________。
4、执行下列语句后,a的值是___________。
int a=12; a*=2+3;
5、定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)--的值是______。
6、设a=13.6,b=8 表达式a+b%3*(int)(a-b)/4的值为________。
7、C语言源程序文件的后缀是___________,经编译后生成的文件的后缀是_________,连接后生成的文件的后缀是.exe。
三、理解题(每题5分,共50分)
1、以下程序,从键盘上输入”how are you?”,输出是什么?
main()
{ char a[7];
scanf(“%s”,a);
printf(“%s”,a);
}
2、以下程序执行结果是什么?
#include<stdio.h>
main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=1;
for(i=0;i<=2;i++)
s*a[i][i];
printf(“s=%d\n”.s);
}
3、若已定义int a[]={1,2,3,4,5,6};且有*p=a;则表达式(*++p)++的值是__________.
#include <stdio.h>
void FUN(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
void main()
{
int a=10,b=20;
FUN(a,b);
printf(“%d,%d”,a,b);
}
5、以下程序的执行结果是:# include <stdio.h>
typedef struct{
long x[2];
int y[4];
char z[8];
}MYTYPE;
void main()
{
MYTYPE a;
printf("%d\n",sizeof(a)); }
#include <stdio.h>
main()
{
int *p,i;
i=5;
p=&i;
i=*p+10;
printf(“i=%d\n”,i); }
7、以下程序的执行结果#include<stdio.h>
int x=1;
func(int x)
{
x=3;
}
void main()
{
func(x);
printf(“x=%d\n”,x); }
8、以下程序的执行结果#include <stdio.h> struct stru
{
int x;
char c;
};
void func(struct stru *b)
{
b->x=20;
b->c='y';
}
void main()
{
struct stru a={10,'x'},*p=&a;
func(p);
printf("%d,%c\n",a.x,a.c);
}
9、以下程序输入language programming<CR>的执行结果#include <stdio.h>
main()
{
char str[30];
gets(str);
printf("str=%s\n",str);
}
10、以下程序的执行结果
#include <stdio.h>
main()
{
int i,j;
for(i=4;i>=1;i--)
{
printf(“*”);
for(j=1;j<=4-i;j++)
printf(“\n”);
}
}
四.编程(每小题10分,共20分)
1、编写一段将n个数按输入顺序的逆序排列输出的程序,要求应用指针且不另外开设数组。
2、编写一段实现二分法查找的程序。