|
C语言
单项选择题
1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是( )
A..p2=p1+(p1-p2); printf("equal.");
B..if(p1==p2)
C..*(p1-2+p2)=getchar();
D.*(p1+=2)=*p2
单项选择题
2、循环语句for (x=0,y=0;(y!=123)||(x<4);x++);的循环执行( )
A.无限次
B.4次
C.3次
D.不确定次
单项选择题
3、设有定义int a=5,b,*p=&a;,执行下列语句后,b的值不为5的赋值语句是( )。
A.b=*&a
B.b=*
C.b=a
D.b=*a
单项选择题
4、若有定义: char s[81];以下哪个选项不能实现将字符串This is a Program.存入数组s中( )。
A.gets(s+2)
B.scanf(\"%20s\
C.s)"
D..for(i=0;i<18;i++) ((c=getchar())!="\n")D.i=0;while((c=getchar())!="\n")
E..i=0;while
单项选择题
5、对于for( 表达式1;;表达式3)可理解为( )
A.for(表达式1;1;表达式3)
B.for(表达式1;表达式1;表达式3)
C.for(表达式1;表达式3;表达式3)
D.for(表达式1;0;表达式3)
单项选择题
6、语句while (!e)中的条件!e等价于( )
A.e==0
B.e!=0
C.~e
D.e!=1
单项选择题
7、对于条件表达式(M)?(a++):(a--)来说,其中的表达式M等价于( )
A.M==0
B.M==1
C.M!=1
D.M!=0
单项选择题
8、设x,y,z,t均为int型变量,则执行x=y=z=1;t=++x||++y&&++z;语句后,t的值为( )
A.不定值
B.2
C.0
D.1
单项选择题
9、设int a=2,b;则执行b=a&&1后b的值是( )
A.0
B.1
C.2
D.3
单项选择题
10、执行下述程序后,输出的结果是( )。#include <stdio.h>#define SQR(X) X*Xvoid main(){int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(%d,a); }<br
A.10
B.1
C.9
D.0
单项选择题
11、有如下程序,输入数据12345<CR>后,y的值是( )。#include <stdio.h>void main(){int x; float y; scanf(%3d%f,&x,&y); }<br
A.12.000000
B.45.000000
C.12345.000000
D.0.000000
单项选择题
12、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )。#include <stdio.h>void main(){int a1,a2; char c1,c2; scanf(%d%d,&a1,&a2); scanf(%c%c,&c1,&c2); }<br
A.10 20
B.10 20 AB
C.1020AB
D.020AB
单项选择题
13、下面程序的输出结果是( )。#include <stdio.h>void main(){printf(%d,null);}
A.输出0
B.因变量无定义,编译出错,没有输出
C.输出-1
D.输出0
单项选择题
14、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后; 下列正确的选项是( )
A.语法错误
B.使f的值为5.0
C.使f的值为0.0
D.使f的值为2.0
单项选择题
15、字符串\ABC\的长度是( )
A.11
B.7
C.5
D.3
单项选择题
16、表达式(1,2,3,4)的值是(
A.1
B.2
C.3
D.4
单项选择题
17、设int m=1,n=2;则表达式++m= =n的值是( )
A.0
B.1
C.3
D.2
单项选择题
18、设n=10,i=4;则赋值运算n%=i+1执行后n的值是( )
A.3
B.0
C.2
D.1
单项选择题
19、设有语句int a=3;,执行语句a+=a-=a*a;后,变量a的值是( )
A.3
B.0
C.9
D.-12
单项选择题
20、下列选项中不是C语言提供的合法保留字的是( )
A.switch
B.cher
C.case
D.default
单项选择题
21、表达式a=(a=6,a*6,a+3);运行后,则a的值为( )
A.39
B.36
C.6
D.9
单项选择题
22、下列符合C语言语法的实数是( )
A.1.5e0.5
B.3.16e
C.0.5e-10
D.e+8
单项选择题
23、关下面语句的输出的判断中,正确的是( )。long x=-
A.输出值为-4
B.赋值非法
C.输出值不确定
D.输出值为4
单项选择题
24、char型常量在内存中存放的是( )
A.内码值
B.SCII码值
C.CD码值
D.十进制代码值
单项选择题
25、C语言提供的合法的数据类型保留字(或称关键字)是( )
A.Float
B.unsigned
C.integer
D.Char
单项选择题
26、设int a=l,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是( )
A.0
B.1
C.2
D.3
单项选择题
28、下列叙述正确的是( )
A.continue语句的作用是跳出循环体
B.while循环语句的循环体至少执行一次
C.do-while循环语句的循环体至少执行一次
D.switch语句中的每个case语句组必须含有break语句
单项选择题
29、关于函数,下列叙述正确的是( )
A.一个函数中可以定义其它的函数
B.C程序总是从main()函数开始执行
C.main()函数也可以被其它函数调用
D.一个C程序可以有多个main()函数
单项选择题
31、设int a[ ]={12,34,56,78},*p=a;,下列表达式的值为56的是( )
A.[1+2]
B.*(a+2)
C.a[3]
D.*(p+3)
单项选择题
32、正确的C语言字符常量是( ) <br
A.‘65’
B.‘\\’
C.“A”
D.‘/n’
单项选择题
33、能正确表达数学关系式0≤x<20的C语言表达式是( ) <br
A.x>=0&&x<20
B.0<=x<20
C.x>=0||x<20
D.!(x<=0)&&x<20
单项选择题
34、设int a=0,b=1;,下列语句错误的是( ) <br
A.a=b=10;
B.a++;
C.b+=a;
D.(a+b)++;
单项选择题
35、函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是( ) <br
A.3
B.4
C.5
D.6
单项选择题
36、可用于C语言用户标识符的是( )
A.void,define
B.2c,DO
C.For,-abc
D.as_b3,_123
单项选择题
37、下列运算符的操作数必须是整型的是( )
A.
B.!
C.%
D.=
填空题
38、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空: #include stdio.hvoid main(){int a[10],i,max; for(i=0;i<10;i++) scanf(%d,&a[i]); for( (1) ;i<10;i++) if(a[i]>a[max]) (2) printf(最大值为:%d ,下标是:%d, (3) ,max);}
填空题
39、设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。
填空题
40、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。
填空题
41、若定义函数时类型缺省,则该函数默认的类型是____ _______。
填空题
42、设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。
论述题
43、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?
论述题
44、在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?
论述题
45、找出一个3行4列的二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。可能有几个鞍点也可能一个都没有。
论述题
46、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。
论述题
47、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。
论述题
48、编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。
论述题
49、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或N-S图
论述题
50、什么是函数的原型?其作用是什么?在这些作用中如何使用?
论述题
51、什么是内部函数和外部函数?
论述题
52、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?i--执行的次数是多少?#include stdio.hint main(){ int i=100, s=0,n=0; while(i--){s+=i;n++; }printf(%d ,n);}
论述题
53、在下列程序中,fun函数为一个递归函数,请将程序中的fun函数改为非递归函数,保持功能不变。#include stdio.hlong fun(int n){ if(n==1) return 1; else return n*fun(n-1);}void main(){int n;printf(请输入n的值:);scanf(%d,&n);printf(%d!=%ld ,n,fun(n));}
论述题
54、1. 设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。2. 设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。3. 设char s[]=”\t\’Name\\Address\n”;,s的长度是___________。4.设int x=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是____________。5. 设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。6. 若定义函数时类型缺省,则该函数默认的类型是____ _______。7. 设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_______8.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){float x[1000],sum=0.0,ave,a;int n=0,i;printf(Enter mark:\n”);scanf(%f”,&a);while( (1) ){sum___(2)_ ___;x[n]=a ;n++;scanf(%f”,&a);}ave=____(3)___;printf(Output:\n”);printf(ave=%f\n”,ave);for(i=0;i<N< SPAN>;i++) if (x[i]<AVE) printf(%5f.2”,x[i]);}9.下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空: #include stdio.hvoid main(){int a[10],i,max; for(i=0;i<10;i++) scanf(%d,&a[i]); for( (1) ;i<10;i++) if(a[i]>a[max]) (2) printf(最大值为:%d ,下标是:%d, (3) ,max);} 10、下列程序的功能是:从键盘输入10数,找出其中的素数并按降序输出这些素数。请根据给定的程序和程序的功能完善该程序。(每空2分,共6分)。#include#includeint f(int x){int i; for(i=2;i<=sqrt(x);i++) if(x%i==0) return 0; (1) }void main(){int a[10],i,n=0,j,t; for(i=0;i<10;i++) scanf(%d,&a[i]); for(i=0;i<10;i++) if( (2)) n++; else a[i]=0; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if( (3) ) {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf(共有%d个素数,它们是:,n); for(i=0;i<9;i++) if(a[i]!=0) printf(%d ,a[i]);} 11. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。 #define N 10 struct student { char name [20]; char sex; int score; } stu[N]; void main( ) { int i; float aver,sum=0; for(i=0;i<N< SPAN>;i++) { scanf(“%d,%c%s”,(1)__ _______);/*第一空*/ sum=sum+_(2) ________; /*第二空*/ } aver=_(3)_ ________; /*第三空*/ printf(“aver=%6. 2f\n”,aver); } 12. 从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text. txt中。 #include “stdio.h” void main() { FILE (1)______; /*第一空*/ char ch; if( (fp=fopen (“text. txt’’,_(2)_ _____) )==NULL) exit(0); /*第二空*/ while( (ch=getchar( ))!=’?’) fputc(ch,_(3)_ ______); /*第三空*/ fclose(fp); } 13. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 递归公式如下: age(n)= int age(int n) { if (n==1) return (__(1)_ ____); /*第一空*/ else return(_(2)_ _______); /*第二空*/ } void main() { printf(‘‘%d\n”,_(3)__ ______); /*第三空*/ }14.依据下列提供的程序回答问题(1)提供程序的功能是什么? #include stdio.hvoid main(){int score[10],i,max; for(i=0;i<10;i++) {printf(请输入第%d个学生的成绩(0-100):\n,i+1); scanf(%d,&score[i]);} for(i=1,max=0;i<10;i++) if(score[i]>score[max]) max=i; printf(最高成绩为:%d ,最高成绩是第%d个:%d,score[max],max+1);}(2)请依据提供的程序画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,若输入数据如89、87、77、67、87、80、97、80、97、74、58、84,则输出结果是什么?
论述题
55、下列表达式的值是多少?处理表达式后, a的值是多少?,假设整数类型变量a的值为12(1)a+=a (2)a-=2(3)a*=2+3 (4)a/=a+a(5)a%=(n%=2) n的值等于5 (6)a+=a-=a*a
论述题
56、请简述算法、程序设计语言与程序的区别与联系
论述题
57、什么是算法?算法的特征?算法的描述方法有哪些?
论述题
58、4.写出下列表达式所对应的C语言表达式,其中x,y为整数,a,b,c为实数类型内容见附件写C语言表达式</a
论述题
59、在下列程序中,函数f的功能是什么? 该程序的运行结果是多少?#include stdio.hint fun(int num){int k=1;do {k*=num%10; num/=10;}while(num>0); return k;}int main(){int x=651,y=123;printf(%d,%d,fun(x),fun(y));}
论述题
60、在下列程序中,函数p的功能是什么? 该程序的运行结果是多少?#include stdio.hvoid sort(int x[ ],int n) {int i,j,k,t; for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(x[k]>x[j])k=j; if(i!=k) {t=x[k];x[k]=x[i];x[i]=t;} } }int main() {int a[10]={34,50,89,67,102,11,75,30,125,145},i; sort(a,10); for(i=0;i<10;i++) printf(%10d,a[i]);}
论述题
61、结构化程序设计方法的内容是什么?划分模块的基本原则?采用结构化方法的好处?
论述题
62、通过你对C语言程序设计课程的学习,你认为C语言程序设计具有哪些特点?并简要说明。C语言有哪些局限性?针对这些局限性,是如何解决这些问题的?
论述题
63、程序的功能是从键盘上任意输入一个正整数,求各位数字之和。请用模块化方法改写下列程序,功能不变。#include stdio.h”void main(){int n;int r,s=0; scanf(%d”,&n); do{r=n%10; s+=r; n=n/10; }while(n>0); printf(%d”, s); }
论述题
64、有如下程序#include stdio.hint fun(int x){ int p; if(x==0 || x==1) return 3; else p=x-fun(x-2); return p;}int main(){ printf( %d,fun(9));}该程序的输出结果是多少?
论述题
65、下列函数的功能是什么 int fun(char *x){char *y=x; while(*y++); return y-x-1}
论述题
66、什么是指针,什么是指针变量?指针所指向的变量?给一实例说明
应用题
67、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。要求:(a)编写一个sort(int word,int a[])函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。
应用题
68、依据下列提供的程序回答问题#include stdio.hdouble fun(int a[],int m){int i;double sum=0; for(i=0;i<m;i++)sum+=a[i]; return(sum/m);}void main(){int x, count = 0,a[300];for (x = 1;x <= 30;x++) if (x%2==0) { a[count]=x; count++; }printf(\n这些偶数的平均值是:%6.0lf\n, aver(a,count));}(1)上述提供程序中,函数fun的功能是什么?(2)请依据上述程序思想,画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,其输出结果是什么?
应用题
69、编写一个函数计算函数f(x,y)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位
应用题
70、输出100-900之间的所有奇数,并求出这些奇数的平均值输出
应用题
71、编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能
应用题
72、输出1-500之间的所有偶数,并求出这些偶数的平均值输出。
应用题
73、依据下列提供的程序回答问题#includestdio.hint fun(int a,int b){ int r; r=a%b; while(r!=0) { a=b; b=r; r=a%b; } return(b);}void main(){ int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,&num1,&num2); printf(num1= %d,num2= %d\n\n,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %d\n\n,a);}(1)上述提供程序中,函数fun的功能是什么?(2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,,36其输出结果是什么?
应用题
74、
应用题
75、编写程序打印下列图案
应用题
76、编写一个函数fun计算公式的前n项之和,再写一主函数测试其功能。
应用题
77、写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数
应用题
78、编写一个函数计算函数的值,要求有输入输出提示,结果精度为3位
应用题
79、#include stdio.hdouble aver(int a[],int m){int i;double sum=0; for(i=0;i<m;i++)sum+=a[i]; return(sum/10);}void main(){int a[10],i,max;double sum=0; for(i=0;i<10;i++) scanf(%d,&a[i]); printf(平均分数:%6.0lf\n ,aver(a,10)); max=0; for(i=1;i<10;i++) if(a[i]>a[max]) max=i; printf(最大值为:%d,最大值下标是:%d\n ,a[max],max+1);}(1) 所提供程序中,函数aver的功能是什么?(2)请依据提供上述程序,画出其的传统流程图或N-S图或自然语言描述。。(3)若输入的数据分别为:45,87,89,90,77,88,88,78,78,78,则在VC6.0环境下运行上述程序,其输出结果是什么?
应用题
80、依据下列提供的程序回答问题#include stdio.h#include math.hint f(int x){int i; for(i=2;i<=sqrt(x);i++) if(x%i==0) return 0; return 1;}void main(){int a[10],i,n=0; for(i=0;i<10;i++) scanf(%d,&a[i]); for(i=0;i<10;i++) if( f(a[i])==1 ) { printf(%5d,a[i]);n++; } printf(\n满足条件的数的个数为%d,n);}(1)上述提供程序中,函数f的功能是什么?(2)请依据提供的函数f的代码程序,画出其的传统流程图或N-S图或自然语言描述。。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为97,35,17,110,3,11,45,43,7,89其输出结果是什么?
应用题
81、写一个函数将一个字符串中的小写字母转换为大写,再写一个测试函数测试其功能。不允许使用strurp函数
应用题
82、利用随机函数产生20个100-300的随机整数放入数组a中,从键盘输入查找关键字word是否在数组a中。要求:(1)编写一个函数find(int word,int a[])查找关键字word是否在数组a中(2)主函数中产生随机整数,并调用find函数进行测试。(3)程序必须有相应的输入输出提示。
应用题
83、编写程序打印下列图案
更多学习资料请登录www.openhelp100.com
|
|