浙江科技学院考试试卷
浙江科技学院
2010 - 2011 学年第 2 学期考试试卷 A 卷
考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2011年6月25日 建工、生化、艺术、轻工、理学 学院 2010 年级 理工科专业
命题: 说明:
1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;
2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;
3. 考试完成后,必须将试卷与答卷同时交回。
一、判断题(本大题共12小题,每题小1分,共12分)
1. 在定义数组时,数组的长度可以用整型常量或者整型变量表示。
2. 执行“int x=3,y=4; float z ;z=x/y;”后,z 的值为0.75。
3. C 语言中,关系表达式的值是1和0,分别表示“真”和“假”。
4. else 语句一定要与if 语句配对使用,程序中else 语句的个数一定小于或者等于
if 语句的个数。
5. C 语言是一种结构化程序设计语言,结构化程序由顺序、选择、循环三种基本结
构组成。
6. 函数中可以使用多个return 语句,也可以没有return 语句。如果使用多个return
语句可以向主函数返回多个值。
7. 使用”w”方式打开一个已经存在的文本文件,将在该文件原有数据的基础上添加
新的数据。
8. 定义语句“char s[]={“Hello ”};”和“char s[]={…H ?, …e ?, …l ?, …l ?, …o ?};”定义的两个
字符数组是等价的。
专业班级 学号 姓名
………………………………………………………………………装订线……………………………………………………………………………………
9.调用函数时,若实参是一个数组名,则向函数传送的是数组的首地址。
10.使用do……while 语句实现循环时,不管条件真假,都将首先无条件的执行一次
循环。
11.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内
存中所占字节数是6。
12.语句“c=*p++”的执行过程是p所指向的存储单元的值赋值给变量c,然后p
变量自增。
二、单选题(本大题共20小题,每题1分,共20分)
1.一个C程序总是从()开始执行。
A. 书写顺序的第一个函数
B. 书写顺序的第一条执行语句
C. 主函数main()
D. 不确定
2.程序设计一般包含以下4个步骤,其中首先应该完成的是()。
A. 设计数据结构和算法
B. 建立数学模型
C. 编写程序
D. 调试运行程序
3.以下不能
..正确计算代数式
2
((0.5))
3
sin
值的C语言表达式是()。
A. 1/3*sin(1/2)*sin(1/2)
B. sin(0.5)*sin(0.5)/3
C. pow(sin(0.5),2)/3
D. 1/3.0*pow(sin(1.0/2),2)
4.下列语句执行后,变量n的值是()。
for(i=1;i<=3;i++)
{ n=1;
n=n*i;
}
A. 1
B. 3
C. 4
D. 6
5.对下列语句的描述正确的是()。
int i=1;
do
{ i++;
}while(i=10);
A. 执行后i的值是1
B. 执行后i的值是2
C. 执行后i的值是10
D. 死循环
6.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。
A. a>=10 or a<=0
B. a>=0|a<=10
C. a>=10 &&a<=0
D. a>=10||a<=0
7.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,
则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。
A. 0
B. 1
C. 2
D. 语法错误
8.下列程序段不是
..死循环的是()。
A. int i=100;
while(1)
{ i=i%100+1;
if(i>100)break;
} B. int k=0;
do{++k;} while(k>=0);
C. for( ; ;);
D. int s=36;
while(s) ––s;
9.已知int x=10, y=20, z=30;,以下语句执行后x、y、z的值是()。
if (x>y) z=x; x=y; y=z;
A. x=10, y=20, z=30
B. x=20, y=30, z=30
C. x=20, y=30, z=10
D. x=20, y=30, z=20
10.请阅读以下程序:
#include
void main()
{ float a,b;
scanf ("%f",&a);
if(a<0.0) b=0.0;
else if ((a<5.0) && (a!=2.0)) b=1.0/(a+2.0);
else if (a<10.0) b=1.0/a;
else b=10.0;
printf("%f\n",b);
}
若运行时输入2.0<回车>,则上面程序的输出结果是()。
A. 0.000000
B. 0.500000
C. 1.000000
D. 0.250000
11.有以下程序段:
int n=0,p;
do{scanf("%d",&p);n++;}
while(p!=12345 && n<3);
此处do-while循环的结束条件是()。
A. p的值不等于12345并且n的值小于3
B. p的值等于12345并且n的值大于等于3
C. p的值不等于12345或者n的值小于3
D. p的值等于12345或者n的值大于等于3
12.若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确的
....是( )。
struct pupil
{
char name[20];
int age;
int sex;
}pup[5],*p;
A. scanf("%d",p.age);
B. scanf("%s",pup[0].name);
C. scanf("%d",&pup[0].age);
D. scanf("%d",&(pup[1].sex));
13.有如下数组定义语句“int a[2][3]={1,2,3,4,5,6};”,则*(a+1)+2的值是()。
A. 2
B. 6
C. 元素2的地址
D. 元素6的地址
14.执行以下程序后,输出结果是()。
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf(“%d ”,*p); printf(“%d\n”,*(p+8));
}
A. 1 0
B. 1 7
C. 1 8
D. 1 9
15.有如下程序,执行后的输出结果是()。
#define M 3
#define N M+1
#define NN N*N/2
main()
{ printf(“%d\n”,NN);
}
A. 3
B. 4
C. 6
D. 8
16.设x,y,i,j均为整型变量,且x=10,y=3,则执行i=x––; j= ––y;语句后,i
和j的值是()。
A. 10,3
B. 9,3
C. 9,2
D. 10,2
17.下面程序的输出结果为()。
void main()
{ char *p;
char s[]= "ABCD";
for(p=s;p
}
A. ABCD
BCD
CD
D B. A
B
C
D
C. D
C
B
A
D. ABCD
ABC
AB
A
18.表达式“strcmp("Windows98","Windows95")”的值为()。
A. 0
B. 大于0
C. 小于0
D. 无法比较
19.返回值为void的函数,其含义是()。
A. 调用函数之后,被调用的函数没有返回值
B. 调用函数之后,被调用的函数不返回
C. 调用函数之后,被调用的函数返回值为任意类型
D. 以上三种说法均不正确
20.求0到50的总和,不正确
...的程序段是()。
A. int i,sum;
sum=0;
for(i=0;i<51;i++) sum+=i; B. int i,sum;
for(i=0,sum=0;i<51;sum+=i++);
C. int i,sum;
i=0;sum=0;
for(i<51) {sum+=i;i++;} D. int i,sum=0;
for(i=0; ;i++)
{ if(i>50) break;
sum+=i;}
三、程序填空题(本大题共4小题,每空2分,共24分)
1.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。
#include
void main()
{ int t=0,s,i;
___(1)___;
for( i=1; i<=5; i++) {
t=i+__(2)___;
s=s+t;
}
printf("s=%d\n",s);
}
(1) A. s=0 B. s=1
C. int n=0
D. int n=1
(2) A. n B. n*10
C. t*10
D. t
2.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结
束循环。请选择填空。
#include
void main()
{ long int num;
do {
scanf("%ld",&num);
if(___(3)___ ) printf("num=%ld\n",num);
}while (___(4)___ );
}
(3) A. num%100/10==3 B. num/100%10==3
C. num%10/10==3
D. num/10%10==3
(4) A. ! num B. num==0
C. num
D. num==1
3.函数fun实现把数字字符从源字符串中删除,其余字符保持原样。
void fun( char s[ ] )
{ int i=0,j;
while ( (5) )
if ( (s[i]>=?0? &&s[i]<=?9?) )
for ( j= i ; s[j]!=?\0?; j++ ) (6) ;
else i++;
}
(5) A. s[i]==0 B. s[i]\0?
C. s[i]!=?\0?
D. s[i]==?\0?
(6) A. s[j-1]=s[j] B. s[j]=s[j-1]
C. s[j+1]=s[j]
D. s[j]=s[j+1]
4.输出50到70之间的所有素数,其中函数isprime(m)用于判断m是否为素数,若m
为素数则返回1,否则返回0。素数就是只能被1和自身整除的正整数。请填空。
#include
#include
main()
{ int i; int isprime(int m);
for(i = 50; i <= 70; i++)
if(____(7)___)
printf("%d ", i);
}
int isprime(int m)
{ int i, k;
k = (int)sqrt((double)m);
for(i = 2; i <= k; i++)
if(m % i == 0) ____(8)___;
____(9)___;
}
(7) A. isprime (m) != 0 B. isprime (i) != 0
C. isprime (m) == 0
D. isprime (i) == 0 (8) A. return 0 B. return 1
C. return i <= k
D. return
(9) A. return B. return 0
C. return 1
D. return i <= k
5.下列程序中f函数用于在链表中查找最高分。请填空。
struct node /*结点定义*/
{ int num; /*学号*/
int score; /*成绩*/
struct node *next; /*指针域*/
};
int f(struct node *head)
{ int max;
struct node *p;
p=____(10)____;
max=p->score;
while(____(11)____)
{ if(max
____(12)____;
}
return(max);
}
(10) A. malloc(6) B. head->next
C. NULL
D. head
(11) A. p==NULL B. p!=NULL
C. head==NULL
D. head!=NULL
(12) A. p=p->next B. head=head->next
C. p= head->next
D. head= p->next
四、程序阅读题(本大题共6小题,每小题4分,共24分)
1.运行以下程序后若从键盘上输入:65 4<回车>,则输出结果为()。#include
void main()
{ int m,n;
printf("Enter m,n: ");scanf("%d%d",&m,&n);
while(m!=n)
{ while(m>n) m-=n;
while(m } printf("m=%d\n",m); } A. m=3 B. m=2 C. m=0 D. m=1 2.下列程序运行时分别输入“ABCABC”和“ABBBA”,输出的结果分别是()。#include #include #define N 100 void main() { char s[N]; int n,i=0; scanf("%s",s); n=strlen(s); while(i i++; if(i else printf("Y es"); } A. Y es和No B. Y es和Y es C. No和Y es D. No和No 3.下列程序运行时输入“welcome 2 4”,输出的结果是()。 #include #include #define N 100 void middel(char *s,int m,int n); void main() { char s[N]; int m,n; scanf("%s%d%d",s,&m,&n); middel(s,m,n); printf("%s",s); } void middel(char *s,int m,int n) { char *p1,*p2; p1=s+m; p2=s+m+n; while(*p2!='\0') { *p1=*p2; p1++; p2++; } *p1='\0'; } A. weme B. wee C. w me D. w ome 4.下列程序运行后的输出结果是()。 #include main( ) { 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. 0100 B. 1001 C. 10010 D. 以上答案都不是 5.下列程序运行后的输出结果是()。 #include void f(int *x,int *y) { int t; t=*x;*x=*y;*y=t; } main() { int a[9]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(*p) {f(p,q);p++;q--;} for(i=0;i<8;i++)printf("%d,",a[i]); } A. 8,2,3,4,5,6,7,1, B. 8,7,6,5,4,3,2,1, C. 5,6,7,8,1,2,3,4, D. 1,2,3,4,5,6,7,8, 6. 下列程序运行后的输出结果是( )。 #include for(j = 0; j < 2; j++) Fun(); printf("k=%d", k); } void Fun() { static int k = 1; printf("k=%d,", k); k++; } A. k=1,k=2,k=1 B. k=1,k=1,k=2 C. k=1,k=1,k=1 D. k=1,k=2,k=3 五、程序设计题(本大题共2小题,每小题10分,共20分) 1. 按下面要求编写程序: (1)定义函数cal_power(x, n)计算x 的n 次幂(即x n ),函数返回值类型是double. (2)定义函数main(),输入浮点数x 和正整数n ,计算并输出下列算式的值。要求调用函数cal_power(x, n)计算x 的n 次幂。 n x x x x s 11113 2 + ??++ += 2. 下面程序的功能是:在6至1000内找出所有的合数,并按从小到大的顺序将 每个合数按"%6d"格式写入到D 盘根目录下新建的文件“design.dat ”中。 说明:某数等于其诸因子之和则称该数为合数,如6=1+2+3,28=1+2+4+7+14 则6、28就是合数。 浙江科技学院考试试卷 浙江科技学院 2010 - 2011 学年第 2 学期考试试卷 A 卷 考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2011年6月25日 建工、生化、艺术、轻工、理学 学院 2010 年级 理工科专业 专业班级 学号 姓名 ………………………………………………………………………装订线…………………………………………………………………………………… 四、程序阅读题(本大题共6小题,每小题4分,共24分)请在 各小题正确选项的对应位置上填“√”。 五、程序设计题(本大题共2小题,每小题10分,共20分) 浙江科技学院 2010 - 2011 学年第 2 学期考试试卷 A 卷 考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2011年6月25日 建工、生化、艺术、轻工、理学 学院 2010 年级 理工科专业 参考答案及评分标准 一、判断题(本大题共12小题,每题小1分,共12分)。 二、单选题(本大题共20小题,每题1分,共20分) 三、程序填空题(本大题共5小题,每空2分,共24分) 四、程序阅读题(本大题共6小题,每小题4分,共24分) 五、程序设计题(本大题共2小题,每小题10分,共20分)1.答: #include double cal_power(double x,int n) //1分 { double p = x; int i; //1分 for(i=1;i p=p*x; //2分 return p; //1分 } void main() { double x, s=0; //1分 int i,n; scanf("%lf,%d",&x,&n); //1分 for(i=1;i<=n;i++) s=s+1/cal_power(x,i); //2分 printf("%lf",s); //1分 } 2.答: #include #include void main() { FILE *p; int n,i,s; //1分 if((p=fopen("design.dat","w"))==NULL) //1分 { printf("cannot open file\n"); exit(0); } for(n=6;n<=1000;n++) //1分 { s=0; //1分 for(i=1;i if(n%i==0) s+=i; //2分 if(n==s) fprintf(p,"%6d",n); //2分 } fclose(p); //1分 } (写不下请写反面,不要另加纸张) C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B) A、INPUTx、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); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main() C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535 C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a 习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); } B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障 c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include 《C语言程序设计》试题四 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m 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+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #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,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. 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. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 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 C 语言程序设计试卷,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C 语言规定:在一个源程序中, main 函数的位置(C). A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是 A. +1e+15e-9.403e2 B. -.6012e-4-8e5 C. 123e1.2e-.4+2e-1 D. -e3.8e-45.e-0 3.若a=-14,b=3,则条件表达式 avb?a:b+1的值为(A)。 A. -14 B.-13 C.3 D.4 4. 已知:intn,i=1,j=2; A.1,2B.1,3C.2,2D.2,3 5. 为了判断两个字符串s1和s2是否相等,应当使用(D) A.if(s1==s2) B.if(s 仁s2) C. if(strcm p( s1,s2)) D. if(strcm p( s1,s2)==0) 6. 以下正确的描述是(B) o (B)。 执行语句n=ivj?i++:j++; 则i 和j 的值是(c). A. 函数的定义可以嵌套,但函数的调用不可以嵌套。 B. 函数的定义不可以嵌套,但函数的调用可以嵌套。 C. 函数的定义和函数的调用均不可以嵌套。 D. 函数的定义和函数的调用均可以嵌套。 7. 在C 语言中,下面对函数不正确的描述是 A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B. 允许函数递归调用。 C. 函数形参的作用范围只是局限于所定义的函数内。 D. 子函数必须位于主函数之前。 8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是 A. 该变量只在该复合语句中有效 B. 该变量在该函数中有效 C. 该变量在本程序范围内均有效 D. 该变量为非法变量 9. 以下正确的函数形式是(D)。 A. doublefun(intx,inty){z=x+y;retum z;} B. fun(intx,y){int z; return z;} C. fun(x,y){intx,y;doublez;z=x+y;returnz;} D. doublefun(intx,inty){doublez;z=x+y;returnz;} 10. 以下程序的输出结果是(B)。 #includevstdio.h> (D)。 (A) o 一、单项选择题(本大题共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、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果 是。 #include C 语言程序设计试卷 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式a C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include 第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自 动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。 C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() 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); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别() C 语言程序设计 笔试试题 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 1. 有以下程序 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 )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 注意行为规范 遵守考试纪律 A) 定义了基类型为int的三个指针变量 B) 定义了一个名为*pt、具有三个元素的整型数值 C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组 D) 定义了基类型为int的具有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; C语言程序设计试卷及答 案 This model paper was revised by the Standardization Office on December 10, 2020 C语言程序设计 一、单项选择题(共15小题,每题4分,共60分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 4、以下关于main()函数的说法,正确的是。 A) main()必须是程序的第一行 B)main()可以有参数 C) 一个程序可以有多个main() D)main()可以被用户自定义的函数调用 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的是()。 A) 数组的首地址B) 数组第一个元素的值 C) 数组中全部元素的值D) 数组元素的个数 7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。 A)void B)double C)int D)char 8、下面不能正确进行字符串赋值操作的语句是( )。 A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD"; C) char *s;s="ABCDEF"; D) char *s="ABCD"; 9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )。 A)++p B)++(*p) C) *(++p) D) *(p+=2) 10、变量的指针,其含义是指该变量的。 A) 值 B) 地址 C) 名 D) 一个标志 11、若有说明int (*p)[3];则以下是正确的叙述。 A) p是一个指针数组 B) p是一个指针,它只能指向一个包含3个int类型元素的数组 C) p是一个指针,它可以指向一个一维数组中的任一元素 D) (*p)[3]与*p[3]等价 12、指针变量一定不能进行的运算是。 A)+ B)- C)= D)/ 13、若有语句int array[3][4];以下对下标为i和j的数组元素的引用不正确的 是。 A) array[i][j] B) *(*(array+i)+j) C) *(array[i]+j) D) *(array+i*4+j) 14、一般情况下,文件占用存储空间较多。 A)二进制文件 B)文本文件 C)随机文件 D)顺序文件 15、若对文件的操作未到文件尾时,feof(fp)函数的返回值是。 《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。C语言程序设计试题及答案
C语言程序设计试题1
C++语言程序设计试题试题和答案
c语言程序设计试题答案
c语言程序设计期末试题B(含答案)
语言程序设计》试题四及答案
C语言程序设计期末考试试题及答案知识分享
C.语言程序设计试题试题与答案
C语言程序设计期末考试试卷
中南大学C 语言程序设计试卷
C语言程序设计期末考试试题(含答案)
C语言程序设计试题集及其答案
C语言程序设计的试题及答案
C语言程序设计试题及答案
C语言程序设计试卷及答案
C语言程序设计试卷及答案
《JAVA语言程序设计》期末考试试题及答案