C语言程序设计模拟试题及答案1 一、填空题 1、C语言中基本的数据类型有:______、______、______. 2、C语言中普通整型变量的类型说明符为______,在内存中占______下面是小编为大家整理的C语言程序设计模拟试题及答案3篇,供大家参考。
一、填空题
1、C语言中基本的数据类型有:______、______ 、______ .
2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .
3、整数-35在机内的补码表示为______.
4、执行下列语句int a=8; a+=a-=a*a;后,a的值是______.
5、有如下语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]=______.
6、符号“a”和‘a’的区别是______.
7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_a=1,b=3,c=2__.
一、填空题
(1)整型、实型、字符型。
(2)int,2,-32768~ +32767
(3)1111111111011101
(4)- 112
(5)14,‘m’
(6)“a”是字符串常量,而‘a’是字符常量。
(7)存放地址值的变量或常量,或者答地址。
(8)取运算对象的.地址。取指针变量所指的内容。a=1,b=3,c=2
二、选择题
1、设整型变量a为5,使b不为2的表达式是( C )。
A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a>3?2:1
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。
A. 缩排位置相同的if B. 在其之前未配对的if
C. 在其之前未配对的最近的if D.同一行上的if
3、以下程序的输出结果是( D )。
int x=10,y=10;
printf(“%d %d\n”,x——,——y);
A. 10 10 B. 9 9 C. 9 10 D. 10 9
4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( B )。
A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
5、选出下列标识符中不是合法的标识符的是( D )。
A. hot_do B. cat1 C. _pri D. 2ab
6、以下程序的输出结果是( B )。
int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 62
7、设有说明double(*p1)[N];其中标识符p1是( C )。
A. N个指向double型变量的指针。
B. 指向N个double型变量的函数指针。
C. 一个指向由N个double型元素组成的一维数组的指针。
D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
8、在C程序中有如下语句:char *func(int x,int y);它是( C )。
A. 对函数func的定义。 B. 对函数func的调用。
C.对函数func的原型说明。 D. 不合法的。
9、以下程序的输出结果是( D )。
char str[15]=“hello!”;
printf(“%d\n”,strlen(str));
A. 15 B. 14 C. 7 D. 6
10、分析以下程序的输出结果是( A )。
main()
{int a=5,b=-1,c;
c=adds(a,b);
printf(“%d”,c);
c=adds(a,b);
printf(“%d\n”,c); }
int adds(int x,int y)
{static int m=0,n=3;
n*=++m;
m=n%x+y++;
return(m); }
A. 2,3 B. 2,2 C. 3,2 D. 2,4
11、下列描述中不正确的是( C )。
A. 字符型数组中可能存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12、以下程序的输出结果是( A )。
#define f(x) x*x
main()
{int a=6,b=2,c;
c=f(a)/f(b);
printf(“%d\n”,c);
}
A. 9 B. 6 C. 36 D. 18
13、设有如下定义: int x=10,y=3,z;
则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是( D )。 A. 1 B. 0 C. 4 D. 3 14、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]);的输出结果是( C )。 A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
15、以下对二维数组a进行正确初始化的是( B )
A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};
C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};
16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( C )。 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和4
17、设有如下定义: char *aa[2]={“abcd”,“ABCD”};则以下说法中正确的是( D )。
A)aa数组成元素的值分别是“abcd”和ABCD“
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
?18、下列程序的输出结果是( D )。
char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;
strcpy(str+2,strcat(p1+2,p2+1));
printf(“%s”,str);
A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
19、下列程序的输出结果是( C )。 int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf(“%d”,*(p++)); printf(“%d\n”,* *k); A. 4 4 B. 2 2 C. 2 4 D. 4 6
20、不能把字符串:Hello!赋给数组b的语句是( B )。
A. char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};
B. char b[10]; b=“Hello!”;
C. char b[10]; strcpy(b,“Hello!”);
D. char b[10]=“Hello!”;
——C语言程序设计期末试题及答案3篇
1.以下程序输出结果是( )
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
A)7 B)6 C)5 D)4
2以下程序的输出结果为( )
# include
main ( )
{ int i=0, j=0, a=6;
if ((++i>0)&&(++j>0)) a++;
printf ("i=%d, j=%d, a=%d\n", i,j,a);}
A) i=0, j=0, a=6 B) i=1, j=1, a=7
C) i=1, j=0, a=7 D) i=0, j=1, a=7
3有如下程序
main()
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是( )
A) 0 B) 1 C) 2 D) 3
4若i为int型,且有程序如下,则输出结果是( )
i=111;
if(i%3==0)
printf("####");
printf("****");
A) #### B) **** C) ####**** D) 无输出结果
5若运行时x=12,则运行结果为( )
{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
6以下程序的输出结果是( )
main()
{ int i=0, j=0, k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d, %d, %d\n", i, j, k);
}
A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7
7若变量都已正确说明,则以下程序段输出为( )
int a=1,b=2,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A)a=1 b=2 c=1 B)a=1 b=2 c=3
C)a=1 b=3 c=1 D)a=2 b=3 c=2
8当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )
if(a
if(c else if(a if(b else x=3; else x=6; else x=7; A) 1 B)2 C)3 D)6 9以下不正确的语句为( ) A)if(x>y); B)if(x==y)&&(x!=0)x+=y; C)if(x!=y)scanf("%d",&x);else scanf("%d",&y); D)if(x 10有以下程序: #include"stdio.h" main( ) {char i; for (; (i=getchar ())!="\n";) {switch (i-"a") {case 0: putchar (i); case 1: putchar (i+1);break; case 2: putchar (i+2); case 3: break; default: putchar (i);break; } } printf ("\n"); } 输入下列数据后,程序的输出结果是( ) abcde A) abcde B) abcee C) abbde D) abccdd 11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( ) A) switch(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case 1 :y=a-b; break { case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; } default:y=a*b;break; } 12写出下面程序输出结果( ) {int x=1, y=0, a=0, b=0; switch(x) {case 1: switch(y) {case 0: a++; case 1: b++; } case 2: a++; b++; } printf("a=%d, b=%d\n", a, b) ; } A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 13C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) < B) ++ C) ; D) , 14下面有关for循环的正确描述是( )。 A) for循环只能用于循环次数已经确定的情况 B) for循环是先执行循环体语句,后判定表达式 C) 在for循环中,不能用break语句跳出循环体 D) for循环体语句中,可以包含多条语句,但要用花括号括起来 15以下程序段( )。 x=-1; do { x=x*x;} while(!x) A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误 16如下的数组中,数组array占用的内存空间是( )个字节。 char array[]={"c","h","i","n","a"}; A. 1 B. 5 C. 6 D. 不确定 17设有程序段 int k=10; while(k=0) k=k-1; 则下面描述正确的是( )。 A) while 循环执行10次 B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次 18下列程序段的运行结果是( ) int n=0; while(n++<3); printf("%d",n) A. 2 B. 3 C. 4 D. 以上都不对 19设有程序段 t=0; while(printf("*")); { t++; if (t<3) break; } 下面描述正确的是( )。 A) 其中循环控制表达式与0等价 B) 其中循环控制表达式与"0"等价 C) 其中循环控制表达式是不合法的 D) 以上说法都不对 20下面程序的运行结果是( )。 #include main() { int y=10; do { y--;} while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0 21以下程序段的输出结果是( ). main() { int i=5; for ( ;i<=15; ) { i++; if (i%4==0) printf("%d ",i); else continue;} } A. 8 12 16 B. 8 12 C. 12 16 D. 8 22以下不是无限循环的语句为( )。 A) for(y=0,x=1;x>++y;x=i++) i=x; B) for( ; ;x++=i); C) while(1){x++;} D) for(i=10; ; i--) sum+=i; 23有如下语句 int x=3; do { printf("%d\n",x-=2);} while(!(--x)); 则上面程序段( ) A. 输出的是1 B. 输出的是1和-2 C. 输出的是3和0 D. 是死循环 24以下不是无限循环的是( ) A. for(y=0,x=1;x>++y;x=i++) i=x; B. for( ; ;x++=i); C. while(1) x++; D. for(i=10; ;i--) s+=i; 25以下正确的描述是( )。 A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 26以下程序输出结果为( ) #include "stdio.h" main() {int i,b,k=0; for(i=1;i<=5;i++) { b=i%2; while (b-->=0) k++;} printf("%d,%d\n",k,b); } A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2 27以下程序段中循环体总的执行次数是( ) int i,j; for(i=7;i;i--) for(j=0;j<6;j++) {......} A) 42 B) 21 C) 13 D) 36 28以下不正确的描述是( ) A. break 语句不能用于循环语句和switch语句外的任何其他语句 B. 在switch语句中使用break语句或continue语句的作用相同 C. 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行 D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 1else语句总是和靠它最近的if匹配。 2switch语句中一定有default分支 3case后只能跟常量,不能跟变量 4break语句的作用就是结束本层循环。 5do-while语句构成的循环不能用其它语句构成的循环来代替。 6用do-while语句构成循环时,只要while后的表达式为0时就结束循环。 7for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。 8for循环中,如果表达式2为空,则该循环一定是死循环。 9while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。 10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。 1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分) A.switch(x) { case 1.0: printf("* "); case 2.0 printf("** "); } B.switch((int)x) { case 1.0: printf("* "); case 2.0 printf("** "); } C.switch(a+b) { case 1: printf("* "); case 2+1: printf("** "); } D.switch(a+b) { case 1: printf("* ") case c: printf("** "); } 标准答案:C 2. 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出的结果是( ) int a; a=Y; printf("%d ",Z); printf("%d",--a); (2分) A.7,6 B.12,6 C.12,5 D.7,5 标准答案:D 3. 下面的符号常量定义中,正确的是 ( ) (2分) A.#define PI 3.14; B.#include PI 3.14; C.#define PI=3.14 D.#define PI 3.14 标准答案:D 4. 以下程序的输出结果是( ) int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d ", a,b); } (2分) A.100200 B.57 C.200100 D.75 标准答案:D 5. 若有以下调用语句,则不正确的fun函数的首部是( ) main() { … int a[50],n; … fun(n, &a[9]); … } (2分) A.void fun(int m, int x[]) B.void fun(int s, int h[41]) C.void fun(int p, int *s) D.void fun(int n, int a) 标准答案:D 6. 以下程序的输出结果是( ) fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf("%d",a); } (2分) A.0 B.29 C.31 D.无定值 标准答案:C 7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分) A.auto和static B.auto和register C.register和static D.extern和register 标准答案:B 8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分) A.地址传递 B.单向值传递 C.由实参传给形参,再由形参传回实参 D.传递方式由用户指定 标准答案:B 9. 以下函数值的类型是( ) fun ( float x ) { float y; y= 3*x-4; return y; } (2分) A.int B.不确定 C.void D.float 标准答案:A 10. C语言规定函数的返回值的类型是由( ) (2分) A.return语句中表达式类型决定 B.调用该函数时的主调函数类型决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型决定 标准答案:D ——C语言程序设计试题及答案3篇 1[单选题] 若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是()。 A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值 B.P+1代表a[1][0]的地址 C.P中将存放a数组的首地址 D.P+2代表a数组最后一行的首地址 参考答案:A 参考解析:(+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。 2[单选题] 以下叙述中正确的是() A.在算法设计时,可以把复杂任务分解成一些简单的子任务 B.在C语言程序设计中,所有函数必须保存在一个源文件中 C.只要包含了三种基本结构的算法就是结构化程序 D.结构化程序必须包含所有的三种基本结构.缺一不可 参考答案:A 参考解析:C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#inClude命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。 3[单选题] 有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是( )。 A.自然连接 B.交 C.除 D.并 参考答案:C 参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C2017年计算机二级C语言练习题及答案2017年计算机二级C语言练习题及答案。 4[单选题] 以下叙述错误的是( )。 A.一个算法所包含的操作步骤应该是有限的 B.任何能通过编译和运行的算法都一定能得到所期望的结果 C.算法中每一条指令必须有确切的含义 D.算法可以用各种描述方法来进行描述 参考答案:B 参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)。可知选项A,c,D正确。c语言中。通过编译,可以运行的程序,不一定符合题目的本意,因此即使可以运行得到结果,也不一定和预期的结果一样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。 5[单选题] 设有定义: int a=1,b=2,C=3; 以下语句中执行效果与其他三个不同的是( )。 A.if(a>B.C=a,a=b,b=C; B.if(a>B.{C=a,a=b,b=C;} C.if(a>B.C=a;a=b;b=c; D.if(a>B.{C=a;a=b;b=c;} 参考答案:C 参考解析:由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择c选项。 6[单选题] 以下叙述中正确的是 A.两个字符串可以用关系运算符进行大小比较 B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位) C.C语言本身没有提供对字符串进行整体操作的运算符 D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和 参考答案:C 参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。 7[单选题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。 A.一对一 B.一对多 C.多对多 D.多对一 参考答案:C 参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。 8[单选题] 对于while(!E)s;,若要执行循环体s,则E的取值应为: A.E等于1 B.E不等于0 C.E不等于1 D.E等于0 参考答案:D 参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。 9[单选题] 在软件设计中不使用的工具是( )。 A.系统结构图 B.PAD图 C.数据流图(DFD图) D.程序流程图 参考答案:C 参考解析:系统结构图是对软件系统结构的总体设计的图形显示2017年计算机二级C语言练习题及答案计算机等级。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的 PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。 10[单选题] 若有定义语句:char a="\82";则变量a() A.说明不合法 B.包含1个字符 C.包含2个字符 D.包含3个字符 参考答案:B 参考解析:char a="\82",定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为"2"。因此B选项正确。 ——C语言程序设计模拟试题附答案3篇 一、单项选择题(20分,每题2分) 1.程序段 int *p,a; p=&a; a=10; printf("%d",p); 的输出应为: A)10 B)0 C)不能确定 D)语法错误 2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是: A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式 3.以下语句或语句组中,能正确进行字符串赋值的是。 A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 4.for(i=0;i<10;i++) if(i〈=5) break; 则循环结束后i的值为 A)0 B)1 C)5 D)10 5.有以下程序 main() { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%dn",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。 A)m=123n=456p=789 B) m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 6.C语言中,最基本的数据类型包括: A)整型、实型、逻辑型 B)整型、字符型、数组 C)整型、实型、字符型 D)整型、实型、结构体 7.以下说法正确的是 A) C程序总是从第一个定义的函数开始执行 B) 在C程序中,要调用的函数必须在main()函数中定义 C) C程序总是从main()函数开始执行 D) C程序的main()函数必须放在程序的开始部分 8.程序段 int *p, a=1; p=&a; *p=10; a的值为: A) 1 B) 10 C) 不能确定 D) 11 9.以下定义语句中,错误的是 A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n]; 10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 A) 3 B) 6 C) 10 D) 20 二、填空题(30分,每空2分) 1.已知字符A的ACSII码值为65,以下语句的输出结果是 (1) 。 char ch=’B’; printf("%c %d\n",ch,ch); 2.’a’在内存中占 (2) 个字节,”a”在内存中占 (3) 个字节。 3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 (4) 。 4.有以下程序,执行后输出结果是 (5) 。 main( ) { int t=1,i=5; for(;i>=0;i--) t*=i; printf("%dn",t); } 5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。 6.下面程序段将字符数组b连接到数组a的后面。 main() { char a[20]= ."I am "; char b[]= ."a student."; int i, j; i = strlen(a); for(j =__(8)___; b[j]!=""; j++) { a[__(9)__] = b[__(10)__]; } a[___(11)__] = ___(12)___ ; } 7.for(表达式1;表达式2;表达式3) 语句组 的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。 三、写出程序的运行结果(30分,每题10分) 1.写出程序运行后的输出结果。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main( ) { int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a)); } 2.写出程序运行后的输出结果 #include main() { float x=2,y; if(x<0) y=0; else if(x<10) y=1/x; else y=1; printf(“%fn”,y); } 3.(1)函数sub()的功能是什么?(2)写出程序运行的输出结果。 long sub(int num) { int i; long subsum=1; for(i=1;i<=num;i++) subsum*=i; return(subsum); } main() { int i; long sum=0; for(i=1;i<=4;i++) { sum+=sub(i); printf("sum%1d=%ldn",i,sum); } } 四、编程(完形填空)(20分,每题10分) 1.写一个函数,实现将一个长度≤80的"字符串按逆序存放。解题要求:该函数的唯一形参是字符串的起始地址。 void convert(char string[]) { int length,mid,i; char temp; length=____(1)____(string); mid=____(2)_____; for(____(3)____;i { temp=____(4)_____; string[i]=string[____(5)_____]; string[(length-1)-i]=temp; } } 2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。 main() { int yy,mm,day; scanf(“%d%d”,&yy,&mm); switch(__(6)___) { case1: case3: case5: case7: case8: case10: case12: day=__(7)___; break; case4: case6: case9: case11: day=__(8)___; break; case2: if(((yy%4==0)_(9)_(yy%100!=0)) (10)_(yy%400==0)) day=29; else day=28; break; } } } ——VB程序设计试题及答案一3篇 一、单选题 1. VB6.0是一种面向 B 的编程环境。 (A) 机器 (B) 对象 (C) 过程 (D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下 D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption="欢迎使用VB" (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对 A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过 C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面 A 是合法的变量名。 (A) X_yz (B) 123ab。 (C) integer (D) X-Y 6. 以下关系表达式 中,其值为False的是 A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是 A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是 D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是 D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下 B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 … … Next x Next x (C) For x=1 To 10 (D) For x=3 to 10 step 3 re: … … Next x Next y If i=10 Then GoTO re 12.如下数组声明语句, B 是正确的。 (A) Dim a[3,4] As Integer (B) Dim a(3,4) As Integer (C) Dim a(n,n) As Integer (D) Dim a(3 4) As Integer 13.下列语句中(假定变量n有值),能正确声明可变长数组的是 A 。 (A) Dim a( ) As Integer (B) Dim a( ) As Integer ReDim a(n) ReDim a(n) As String (C) Dim a( ) As Integer (D) Dim a(10) As Integer ReDim a(3, 4) ReDim a(n+10) ReDim Preserve a(4, 4) 14.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是 C 。 (A) Sub f2(ByVal n%, ByVal m%) (B) Sub f1(n%, ByVal m%) (C) Sub f1(n%, m%) (D) Sub f1(ByVal n%, m%) 15.设有如下程序段: Public Sub F1(n%) … n=3*n+4 … End Sub Private Sub Command1_Click( ) Dim n%, m% n=3 m=4 … ‘调用F1语句 … End Sub 则在Command1_Click事件中有效的调用语句是 B 。 (A) Call F1(n+m) (B) Call F1(m) (C) Call F1(5) (D) Call F1(m+5) 16.用来设置粗体字的属性是 C 。 (A) FontItalic (B) FontName (C) FontBold (D) FontSize 17.假定定时器的Interval属性为1000,Enabled属性为True,调用下面的事件过程,程序运行结束后变量x的值为 D 。 Dim x As Integer Sub Timer1_Timer( ) For i=1 to 10 x=x+1 Next i End Sub (A) 1000 (B) 10000 (C) 10 (D) 以上都不对 18.在下列关于通用对话框的叙述中,错误的`是 B 。 (A) CommonDialog1.ShowFont显示“字体”对话框 (B) 在“打开”或“另存为”对话框中,用户选择的文件名可以经FileTitle属性返回 (C) 在“打开”或“另存为”对话框中,用户选择的文件名机器路径可以经FileName属性返回 (D) 19.当用户按下并且释放一个键后会触发KeyPress、KeyUp和KeyDown事件,这三个事件发生的顺序是 C 。 (A) KeyPress、KeyDown、KeyUp (B) KeyDown、KeyUp ——VB程序设计试题及答案二3篇 1. Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。 (A) 事件驱动 (B) 按过程顺序执行 (C) 从主程序开始执行 (D) 按模块顺序执行 2. 若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。 (A) Backcolor (B) BorderStyle (C) Forecolor (D) Backstyle 3. 在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。 (A) 文本框 (B) 命令按钮 (C) 窗体 (D) 标签 4. 要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。 (A) Change (B)KeyDown (C) Click (D)KeyPress 5. 数学表达式3≤x (A) 3<=x<10 (B) 3<=x AND x>10 (C) x>=3 Or x<10 (D) x>=3 AND x<10 6. Rnd函数不可能为下列 B 值。 (A) 0 (B) 1 (C) 0.1234 (D) 0.0005 7. 赋值语句:a=123+Mid("123456",3,2)执行后,a变量中的值是 D 。 (A) "12334" (B) 123 (C) 12334 (D) 157 8. 对于语句If x=l Then y=l,下列说法正确的是 C 。 (A) x=l和y=l均为赋值语句 (B) x=l和y=l均为关系表达式 (C) x=l为关系表达式,y=l为赋值语句 (D) x=l为赋值语句,y=l为关系表达式 9. 下面程序段表示求两个数中的大数, D 不正确。 (A) Max=IIf(x>y,x,y) (B) If x>y Then Max=x Else Max=y (C) Max=x (D) Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C 。 Private Sub Text1_Change( ) Print Text1; End Sub (A) ABCD (B) A (C) AABABCABCD (D) A B AB C ABC D ABCD 11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B 。 (A) For i=1 to 4 (B) For i=1 to 4 n=1 For j=1 to i For j=1 to I n=1 n=n*j n=n*j Next j Next j Print n Print n Next I Next i (C) n=1 (D) n=1 For j=1 to4 j=1 n=n*j Do While j<=4 Print n n=n*j Next j Print n j=j+1 Loop 12.如下数组声明语句,则数组a包含元素的个数有 A 。 Dim a(3, -2 to 2, 5) (A) 120 (B) 75 (C) 60 (D) 13 13.以下程序的输出结果是 D 。 Dim a a=Array(1, 2, 3, 4, 5, 6, 7) For i=Lbound(a) to Ubound(a) a(i)=a(i)*a(i) Next i Print a(i) (A) 49 (B) 0 (C) 不确定 (D) 程序出错 14.在过程中定义的变量,若希望离开该过程后,还能保存过程中局部变量的值,则应使用关键字 D 在过程中定义局部变量。 (A) Dim (B) Private (C) Public (D) Static 15.如下程序,运行的结果是 B 。 Dim a%, b%, c% Public Sub p1(x%, y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Public Sub p2(x%, ByVal y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Private Sub Command1_Click( ) a=2: b=4: c=6 Call p1(a, b) Print “a=”; a; “b=”; b; “c=”; c Call p2(a, b) Print “a=”; a; “b=”; b; “c=”; c End Sub (A) a=2 b=4 c=6 (B) a=4 b=6 c=10 a=4 b=6 c=10 a=8 b=8 c=16 (C) a=4 b=6 c=6 (D) a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 16.复选框的Value属性为1时,表示 B 。 (A) 复选框未被选中 (B) 复选框被选中 (C) 复选框内有灰色的勾 (D) 复选框操作有误 17.下面关于菜单的说法中,错误的是 B 。 (A) 每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件 (B) 除了Click事件之外,菜单项还能响应其他的,如DbClick事件 (C) 菜单项的快捷键不能任意设置 (D) 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择 18.下面关于多重窗体的叙述中,正确的是 B 。 (A) 作为启动对象的Main子过程中能放在窗体模块中 (B) 如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体 (C) 没有启动窗体,程序不能执行 (D) 以上都不对 19.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将 D 。 (A) 发生DeActivate事件 (B) 发生LostFocus事件 (C) 发生DeActivate和LostFocus事件 (D) DeActivate和LostFocus事件都不发生 20.顺序文件是因为 D 。 (A) 文件中的数据按每行的长度从小到大排序好的 (B) 文件中的数据按某个关键数据项从大到小进行排序 (C) 文件中的数据按某个关键数据项从小到大进行排序 (D) 数据按进入的先后顺序存放的.,读出也是按原写入的先后顺序读出 21.文件号最大可取值为 B 。 (A) 255 (B) 511 (C) 512 (D) 256 22.Print #1, STR$1中的Print是 A 。 (A) 文件的写语句 (B) 在窗体上显示的方法 (C) 子程序名 (D) 以上均不是 23.以下的属性和方法中 C 可重定义坐标系。 (A)Drawstyle属性 (B) DrawWidth属性 (C) Scale方法 (D) ScaleMode属性 24.封闭图形的填充方式由下列 C 属性决定。 (A) DrawStyle, DrawMode (B) AutoRedraw, ClipControls (C) FillStyle, FillColor (D) ForeColor, BorderColor 25.下列字符串中, D 不包含在ADO数据控件的ConnectionString属性中。 (A) Microsoft Jet 4.0 OLE DB Provider (B) Data Source=C:\Mydb.mdb (C) Persist Security Info=False (D) 2-adCmdTable 1.在代码窗口对窗体的BorderStyle、MaxButton属性进行了设置,但运行后没有效果,原因是这些属性 在运行时设计是无效的 。 2.在文本框中,通过 SelStart 属性能活得当前插入点所在的位置。 3.表达式Ucase(Mid(“abcdefgh”, 3, 4))的值是 CDEF 。 4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 And a+c>b+3 Or Not d的值是 False 。 5.要获得动态数组的上界通过 UBound 函数,下界通过 LBound 函数。 6.由Array函数建立的数组,其变量类型必须是 variant 类型。 7.VB中的变量按其作用域分为全局变量、模块变量和 局部变量 变量。 8.复选框的 Value 属性设置为2——Grayed时,变成灰色,禁止用户选择。 9.滚动条响应的重要事件有 Scroll 和Change。 10.假定有一个通用对话框控件CommonDialog1,除了用COmmonDialog1.Action=3显示颜色对话框之外,还可以用 showcolor 方法显示。 11.窗体Form1的左上角坐标为(-200, 250),窗体Form1的右下角的坐标为(300, -150),则X轴的正向向 右 ,Y轴的正向向 上 。 12.使用Circle方法画扇形,起始角、终止角取值范围为 0~2π 。 13.在运行状态改变ADO数据控件的数据源连接属性后,必须使用 Refresh 方法激活这些变化。 14.VB中工程文件的扩展名为 vbg 。 15.如果在窗体上已经创建了一个文本框对象Text1,可以通过 Keypress 事件获得输入键值的ASCII码。 16.VB中对象的三要素是 属性 、 事件 和 方法 。 ——计算机C语言程序设计的介绍 一、 课程介绍 课程名称:《C程序设计》 学时/学分:72学时/3学分 先修课程:计算机文化基础 适用专业:计算机专业(本科) 开课时间:第三学期开课 开课部门:计算机系 二、 课程性质和任务 《C语言程序设计》是计算机专业的一门专业基础课。 本课程的前导课程有《计算机文化基础》,后续课程有《数据结构》、《面向对象程序设计》。它是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。 对计算机专业和理工类专业来说是一门必修的课程。同时, 这门课程也是“全国非计算机专业学生计算机应用能力水*考试”二级考试的主要语种之一。 课程任务:通过本课程的学习,学生应掌握C语言的基本语法,还应掌握程序设计的基本思想、并通过本课程的学习,使学生掌握传统的结构化程序设计的一般方法,以C为语言基础,培养学生严谨的程序设计思想、灵活的思维方式及较强的动手能力,并以此为基础,让学生逐渐掌握复杂软件的设计和开发手段,为后续专业课程的学习打下扎实的理论和实践基础。 三、教学目标 本课程的教学目标是:通过理论和实践教学,使学生较好地掌握 C语言各方面的知识, 掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力, 并能熟练应用 TURBO C集成环境进行C语言的编写、编译与调试,达到省二级考试要求的能应用C语言解决一般编程问题的水*。 三、 考核办法与成绩评定 1、 期末考试采取笔试考核方式,侧重考核学生对C语言的基本语法与程序设计基本思想的`掌握程度。以及考核学生阅读程序、修改程序和编写程序的能力。 2、 采取阶段小测验与期末考核相结合。 3、 阶段小测验与期末考试占期末总成绩的比例为3:7 4、 阶段小测验的安排如下: 第一章至第五章阶段小测验 第六章至第七章阶段小测验(循环控制、数组) 第八章至第九章阶段小测验(函数、预处理命令) 第十章小测验(指针) 第十一章小测验(结构体和共用体) 第十三章小测验(文件) 四、 教材及主要参考书目 1、 教材 《C程序设计》(第三版)谭浩强 著 清华大学出版社 2、 主要参考书目 《C程序设计题解与上机指导》(第三版)谭浩强 编著 清华大学出版社 《全国计算机等级考试二级C语言典型题汇与解析》 中国铁道出版社 《全国计算机等级考试二级C语言程序设计上机考试题型解析》郭速学 等编著 中国水利水电出版社C语言程序设计期末试题及答案2
C语言程序设计模拟试题及答案3篇(扩展2)
C语言程序设计试题及答案1
C语言程序设计模拟试题及答案3篇(扩展3)
C语言程序设计模拟试题附答案1
C语言程序设计模拟试题及答案3篇(扩展4)
VB程序设计试题及答案一1
C语言程序设计模拟试题及答案3篇(扩展5)
VB程序设计试题及答案二1
VB程序设计试题及答案二2
C语言程序设计模拟试题及答案3篇(扩展6)
计算机C语言程序设计的介绍1
版权所有:演说范文网 2010-2024 未经授权禁止复制或建立镜像[演说范文网]所有资源完全免费共享
Powered by 演说范文网 © All Rights Reserved.。京ICP备20027742号