C语言试卷第5套 含答案

第五套

一、判断题

第1题:在C语言中英文小写字母b的ASCII码为74H 错

第2题:60、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。错

第3题:在标准C中,以“%8f”形式输出的所有数字共有8位。错

第4题:在标准C中,“=”是判断两个数是否相等。:错

第5题:对于指向函数的指针变量,它所指向的函数的参数个数一定要相同。错第6题:构成C程序的基本单位是函数,所有函数名都可以由用户命名错

第7题:“A”是一个字符常量。错

第8题:结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。对

第9题:在if语句中,else前一个语句可不加“;”。错

第10题:C程序中注释部分可以出现在程序中任意合适的地方。对

二、选择题(请选择正确的选项)

第1题:执行语句:for(i=1;i++<4;); 后变量i的值是 C

A、3

B、4

C、5

D、不定

第2题:C语言结构体类型变量在程序执行期间 A

A、所有成员一直驻留在内存中

B、只有一个成员驻留在内存在

C、部分成员驻留在内存中

D、没有成员驻留在内存中

第3题:若执行fopen函数时发生错误,则函数的返回值是: B

A、地址值

B、0

C、1

D、eof

第4题:C语言结构体类型变量在程序执行期间 A

A、所有成员一直驻留在内存中

B、只有一个成员驻留在内存在

C、部分成员驻留在内存中

D、没有成员驻留在内存中

第5题:下面程序段输出结果为 A

char str[ ]="Beijing";

printf("%d\n", strlen(strcpy(str,"China")));

A、5

B、7

C、12

D、14

第6题:设有程序段int k=10; while(k=0) k=k-1;则下面描述中正确的是:C

A、while循环执行10次

B、循环是无限循环

C、循环体语句一次也不执行

D、循环体语句执行一次

第7题:以下错误的描述是:函数调用可以 D

A、出现在执行语句中

B、出现在一个表达式中

C、做为一个函数的实参

D、做为一个函数的形参

第8题:设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(2-12)B

A、k=*p1+*p2;

B、p2=k;

C、p1=p2;

D、k=*p1 *(*p2); 第9题:能正确表示a≥10或a≤0的关系表达式是 C

A、a>=10 or a<=0

B、a>=10│a<=0

C、a>=10 || a<=0

D、a>=10 &&a<=0

第10题:C 语言程序的三种基本结构是顺序结构、选择结构和______结构 C

A、递归

B、转移

C、循环

D、嵌套

三、填空题(请把正确的选项填入试题前的空格中)

第1题:下列程序读入了一个时间数值,将其加1秒后输出,时间格式为

hh:mm:ss,即时:分:秒。当小时等于24小时,置为0。#include<stdio.h>

struct { int hour;

int minute;

int second; }time;

void main() {

scanf("%d:%d:%d",__,___,___);

time.second++;

if(____==60) {

time.minute++;

;

if(time.minute==60) {

time.hour++;

time.minute=0;

time.hour=24;

if(___) time.hour=0;

} }

printf("%d:%d:%d\n",time.hour,time.minute,ti me.second); }

参考答案:&time.hour

参考答案:&time.minute

参考答案:&time.second

参考答案:time.second

参考答案:time.second=0

第2题:输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。运行示例:

Enter characters:

f(x,y)=3x+5y-10

letter=5, digit=4, other=6

#include <stdio.h>

void main( )

{

int digit, I, letter, other;

char ch;

digit = letter = other = 0;

printf("Enter characters: ");

while((____) != '\n')

if(____||ch>='A'&&ch<

='Z')

letter++;

else if (____) digit ++;

else___;

printf("letter=%d, digit=%d, other=%d\n", letter, digit, other);

}

参考答案:ch=getchar()

参考答案:ch>='a'&&ch<='z'

参考答案:ch >= '0' && ch <= '9'

参考答案:other++

第3题:2、下列程序利用函数求两个数的最大值,请在处补上必要的代码:

<bfloat max(float,float)

;

main()

{

float a,b,c;

scanf("%f,%f",&a,&b);

c = max (a,b);

printf("max = %f\n",c);

}

float max(float x, float y)

{

float z;

_____;

return(z) ;

}

参考答案:z = x>y ? X : y

四、阅读题(请把正确的选项填入试题前的空格中)

第1题:阅读程序,写出运行结果。参考答案:A

#include <stdio.h>

void main( )

{ float x ;

int I , j ;

x=10.6 ;

I=4 ;

j=(int)x/I ;

printf("j=%d\n",j);

}<br

A)、j=2 B)、j=2.65 C)、j=2.5 D)、j=2.7

第2题:阅读程序,写出运行结果。参考答案:B

#include <stdio.h>

void main( )

{

int

num[10]={50,-20,-53,10,5,-29,14,-32,0,21};

int j , sum=0 ;

for(j=0 ; j<10 ; j++)

if(num[j]>0)

sum+=num[j] ;

printf("sum=%d\n", sum) ;

}

A)、sum= -134 B)、sum=100

C)、sum= 0 D)、sum= 50

第3题:阅读程序,写出运行结果。参考答案:A

#include <stdio.h>

void main( )

{ char str[ ]= "SWILTECH1W ALL";

int k ; char c ;

for(k=0; (c=str[k]) != '\0';

k++)

{

switch(c)

{ case 'A' : putchar('a'); continue;

case '1' : break;

case 9 : putchar('#');

case 'E' :

case 'L' : continue;

default :

putchar(c); continue;

}

putchar('*');

}

printf( "\n ");

}

}

A)、SWITCH*Wa B)、SWITCH

C)、SWILTECHW ALL D)、SWITCH* WALL

第4题:阅读程序,写出程序运行的输出结果。参考答案:B

#include <stdio.h>

void main( )

{ int I, j ;

float

a[3][3]={{21,29,13},{12,33,27},{32,8,73}}, b[3][3];

for(I=0; I<3; I++)

for(j=0; j<3; j++)

b[j][I]=a[I][j];

for(I=0; I<3; I++)

{ for(j=0; j<3; j++)

printf("%6.1f",b[I][j]);

printf( "\n");

}

}

A)、21 12

32

29 33

8

13 27

73

B)、21.0 12.0

32.0

29.0 33.0 8.0

13.0 27.0

73.0

C)、21.0 29.0

13.0

12.0 33.0 27.0

32.0 8.0

73.0

D)、21 29

13

12 33

27

32 8

73

第5题:阅读程序,写出运行结果。参考答案:C

#include <stdio.h>

int f (int a)

{ auto int b=0 ;

static int c=1 ;

b++ ;

c+=3 ;

return(a+b+c) ;

}

void main( )

{ int a=5 , I ;

for(I=0 ; I<3 ; I++)

printf("%4d", f(a)) ;

}

A)、10 10 10 B)、10 11 12 C)、10 13 16 D)、10 12 14

五、设计题(请按照题目要求进行答题,完成之后打包上传)

第1题:求出1000至2000之内能同时被5、11整除但不能被9整除的数,以十六进制格式输出。

参考答案:#include <stdio.h >

void main()

{

int j;

for(j=1000 ;j<=2000;j++)

{

if(j%5==0 && j%11==0&& j%9!=0)

{

printf("%x ",j);

}

}

printf("\n");

}

第2题:输入一N位整数,要求输出该整数的每一个数字,如输入14289,则输出1 4 2 8 9。每一个数字间空一空格

参考答案:

#include<stdio.h>

main()

{int num[6],j,number;

printf("输入一个整数:");

scanf("%d",&number);

j=0;

do

{num[j]=number%10;

number=(int)number/10;

j++;

}while(number!=0);

for(j=5;j>=0;j--)

printf("%d ",num[j]);

printf("\n");

}

第3题:从键盘输入一个正整数,求出它的二进制数。

参考答案:#include <stdio.h >

#include<math.h>

main()

{int num,i,a[16],y;

for(i=0;i<16;i++)

a[i]=0;

printf("请输入一个正整数:\n");

scanf("%d",&num);

i=0;

while(num!=0)

{y=num%2;

num=(int)num/2;

a[i]=y;

i++;

}

for(i=15;i>=0;i--)

printf("%2d",a[i]);

}

西北农林科技大学C语言上机实习5答案

实习五答案 1、用指针实现排序 /* exer 5-1 由键盘输入10个整数,将它们按由小到大顺序排列*/ 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。 输入:键盘输入的10个整数。 输出:按由小到大的顺序排列。 输入样例:1 5 4 3 2 9 23 11 5 7 输出样例:1 2 3 4 5 5 7 9 11 23 #include void main(void) { int a[10],*p = NULL; /* 说明数组和指针*/ int i, j, temp; for(p = a; p < a + 10; p++) /* 指针从数组首到尾*/ { scanf("%d", p); /* 利用指针依次输入*/ } p = a; for(i = 0; i < 9; i++) /* 利用指针依次比较*/ { for(j = i + 1; j < 10; j++) if(*(p + i) > *(p + j)) { temp = *(p + i); *(p + i) = *(p + j); *(p + j) = temp; } } for(p=a; p < a + 9; p++) printf("%d ", *p); printf("%d\n", *p); } 2、用指针实现字符串排序 /*exer 5-2 将10个长度小于20的字符串排序*/ 用指针实现:将10个字符串(设其长度小于20)从小到大排序。 输入:10个字符串。 输出:排序后的10个字符串。 输入样例:ijk jkl def ghi

def cde hij def efg fgh 输出样例:cde def def def efg fgh ghi hij ijk jkl 提示:①定义二维字符数组和指向该数组的指针数组; ②用循环使指针数组的元素指向二维字符数组各行首; ③用循环为指针数组元素赋字符串为值; ④用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。 #include #include void main(void) { char szStr[10][20],*psz[10],szTemp[20]; int i,j; for(i = 0; i < 10; i++) { psz[i] = szStr[i]; /*指针数组的每个元素指向各行串*/ } for(i = 0; i < 10; i++) { gets(psz[i]); /*输入10个字符串*/ } for(i = 0; i < 9; i++) /*字符串排序*/ { for(j = i + 1; j < 10; j++) { if(strcmp(psz[i], psz[j]) > 0) { strcpy(szTemp, psz[i]); strcpy(psz[i], psz[j]);

C语言程序设计教程 清华大学出版社 陈明主编 第5章答案

第5章习题解答 一、选择题 1.以下叙述中错误的是。 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变 C)在程序执行中,当数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D)可以通过赋初值的方式确定数组元素的个数 解析:对于double类型数组,不能直接用数组名对数组进行整体输入或输出。所以选项A的说法是正确的。数组名代表数组所占内存区的首地址,是一个固定指针,其值不可改变,因此选项B也是正确的。在C语言一维数组定义时可以不指定数组长度,由赋初值的初值个数决定数组的长度。因此选项D也是正确的。C语言程序在执行时,不检查数组元素的下标是否越界,如果出现越界,可能会引起系统死机,因此选项C不正确。 答案:C 2.有以下程序: /* 文件路径名:ex5_1_2\main.c */ #include /* 标准输入/出头文件*/ int main(void) /* 主函数main() */ { char s[] = "abcde"; /* 定义字符数组*/ s += 2; /* s自加2 */ printf("%d\n", s[0]); /* 输出s[0] */ return 0; /* 返回值0, 返回操作系统*/ } 执行后的结果是。 A)输出字符a的ASCII码B)输出字符c的ASCII码 C)输出字符c D)程序出错 解析:数组s[]的首地址值s是不可改变的,故该程序编译时会出错。 答案:D 3.有以下程序: /* 文件路径名:ex5_1_3\main.c */ #include /* 标准输入/出头文件*/ int main(void) /* 主函数main() */ { int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p = &a[3], *q = p + 2; /* 定义数组及变量*/

二级C语言5练习(循环含答案)

(1)有以下程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); t==n t=-1,-3,-5 为使此程序段不陷入死循环,从键盘输入的数据应该是 A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数 (2)设变量已正确定义,则以下能正确计算f = n!的程序段是 A) f=0; B) f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i1;i++) f*=i; 死循环for(i=n;i>=2;i--) f*=i; (3)以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() { int t=0,s=0,i; ; i=1 t=1 i=2 t=12 i=3 t=123 t=i+10*t s=s+t; } printf("s=%d\n",s); } 4) 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 ch=getchar()!='N' ch=('a'!='N')ch=1 while( 1 ) (ch=getchar()) != 'N' ch=getchar() ch='a' 'a'!='N' while(1) A)while((ch=getchar())!='N') printf("%c",ch); B)while(ch=getchar()!='N') printf("%c",ch); C)while(ch=getchar()=='N') printf{"%c",ch); D)while((ch=getchar())=='N') printf("%c",ch); 5) 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() { int i,j,n; char ch='A'; scanf("%d",&n); if(n<11) n=5 { for(i=1;i<=n;i++) i=1 j=1 to 5 'A' ch='B' 'C' { for(j=1;j<=n-i+1;j++) { printf("%2c",ch); ch=ch+1 ; ch++ ++ch }

《C语言程序设计》教材习题答案第5章

一、选择题 1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是D 循环体语句一次也不执行 2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出1 3.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-2 4.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0); 5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5 do{printf(“%d\n”,i--);}while(i!=0); 6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限 7.循环语句”while(int i=0;)i--;”的循环次数是A 0 8.下述有关break语句的描述中,不正确的是C break语句用于if语句的内嵌语句内,它结束该if语句 9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句 10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c); 11.执行语句”for(i=0;i++<3;);”后,变量i的值为C 4 12.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C 循环4次 13.与语句”while(!x);”等价的语句是A while(x= =0); 14.执行下列程序段后a的值为B 2 int a=1,b=10; do{ b-=a;a++; }while(b--<0) 二、编程题 1.读入用户输入的6个整数并显示其平均值。 #include main() { float sum=0; int tmp; int i; for(i=0;i<6;i++) { printf("输入第%d个数:",i+1); scanf("%d",&tmp); sum=sum+tmp; } printf("平均值是:%f",sum/6); } 2.先读入一个正整数n,然后计算并显示前n个偶数的和。 #include main() { int sum=0,n,i; printf("输入一个正整数:");

C语言试卷第5套 含答案

第五套 一、判断题 第1题:在C语言中英文小写字母b的ASCII码为74H 错 第2题:60、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。错 第3题:在标准C中,以“%8f”形式输出的所有数字共有8位。错 第4题:在标准C中,“=”是判断两个数是否相等。:错 第5题:对于指向函数的指针变量,它所指向的函数的参数个数一定要相同。错第6题:构成C程序的基本单位是函数,所有函数名都可以由用户命名错 第7题:“A”是一个字符常量。错 第8题:结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。对 第9题:在if语句中,else前一个语句可不加“;”。错 第10题:C程序中注释部分可以出现在程序中任意合适的地方。对 二、选择题(请选择正确的选项) 第1题:执行语句:for(i=1;i++<4;); 后变量i的值是 C A、3 B、4 C、5 D、不定 第2题:C语言结构体类型变量在程序执行期间 A A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存在 C、部分成员驻留在内存中 D、没有成员驻留在内存中 第3题:若执行fopen函数时发生错误,则函数的返回值是: B A、地址值 B、0 C、1 D、eof 第4题:C语言结构体类型变量在程序执行期间 A A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存在 C、部分成员驻留在内存中 D、没有成员驻留在内存中 第5题:下面程序段输出结果为 A char str[ ]="Beijing"; printf("%d\n", strlen(strcpy(str,"China"))); A、5 B、7 C、12 D、14 第6题:设有程序段int k=10; while(k=0) k=k-1;则下面描述中正确的是:C A、while循环执行10次 B、循环是无限循环 C、循环体语句一次也不执行 D、循环体语句执行一次 第7题:以下错误的描述是:函数调用可以 D A、出现在执行语句中 B、出现在一个表达式中 C、做为一个函数的实参 D、做为一个函数的形参 第8题:设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(2-12)B A、k=*p1+*p2; B、p2=k; C、p1=p2; D、k=*p1 *(*p2); 第9题:能正确表示a≥10或a≤0的关系表达式是 C A、a>=10 or a<=0 B、a>=10│a<=0 C、a>=10 || a<=0 D、a>=10 &&a<=0 第10题:C 语言程序的三种基本结构是顺序结构、选择结构和______结构 C A、递归 B、转移 C、循环 D、嵌套

C语言试卷5

C语言模拟考试 学号:5 姓名:赵莎得分:1 .................................................................. 单项选择 C语言程序中必须有的函数是()。 A.#include "stdio.h" B.main C.printf D.scanf 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 B 【学生答案】 [未答此题] 下列语句中符合C语言语法的语句是:( ). A.x=y+2=x+y+z; B.x=7+y,y++,z++; C.x=(3+b,z)=x+3; D.x=3+y++=x+3; 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 B 【学生答案】 [未答此题] C语言执行程序的开始执行点是()。 A.程序中的main函数 B.程序中第一个函数 C.包含文件中的第一个函数 D.程序中第一条可以执行语言 【评分报告得分:1.0 之 1.0 】 【参考答案】正确 A 【学生答案】 A 若有定义:int *p[3];,则以下叙述中正确的是()。

A.定义了一个基类型为int的指针变量p,该变量具有三个指针 B.定义了一个名为*p的整型数组,该数组含有三个int类型元素 C.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 C 【学生答案】 [未答此题] C语言中的文件的存储方式有()。 A.只能从文件的开头进行存取 B.可以顺序存取,也可随机存取 C.只能随机存取(或直接存取) D.只能顺序存取 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 B 【学生答案】 [未答此题] 能将高级语言编写的源程序转换为目标程序的是()。 A.编译程序 B.链接程序 C.解释程序 D.编辑程序 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 A 【学生答案】 [未答此题] 下列数据中属于"字符串常量"的是( )。 A.'A' B."ABC" C.ABC D.'ABC' 【评分报告得分:0.0 之 1.0 】 【参考答案】错误 B

二级C语言 5套 选择题的副本

(1)下列叙述中错误的是 A)在带链队列中,队头指针和队尾指针都是在动态变化的 B)在带链栈中,栈顶指针和栈底指针都是在动态变化的 C)在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的 D)在带链队列中,队头指针和队尾指针可以指向同一个位置 答案:B 【解析】带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个节点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A选项叙述正确,循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置,D选项叙述正确。栈也可以采用链式存储结构表示,把栈组织成一个单链表,这种数据结构可称为带链的栈,入栈和退栈过程中栈底指针不变,栈顶指针随之变化,B选项叙述错误,C选项叙述正确。故选择B选项。 (2)某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层) A)3 B)6 C)8 D)12 答案:D 【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0,则度为1的节点数n1=11,故深度为12,选D。 (3) A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ 答案:C 【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树,C正确。 (4)对长度为n的线性表作快速排序,在最坏情况下,比较次数为 A)n B)n-1

C语言第五章习题带答案

练习5-1答案 一、选择题 1.合法得数组说明语句就是( B )。 A.int a[]="string"; B.int a[]={0,1,2,3,4,5}; C.char a="string"; D.char a[5]={'0', '1', '2', '3', '4', '5'}; 2.以下对一维整型数组a得说明正确得就是( D )。 A.int a(10); B.int n=10, a[n]; C.int n; D.#define SIZE 10 scanf("%d", &n); int a[SIZE]; int a[n]; 3.已知:int a[10];,则对a数组元素得正确引用就是( D )。 A.a[10] B.a[3、5] C.a(5) D.a[10-10] 4.以下对一维数组a进行正确初始化得语句就是( C )。 A.int a[10]=(0, 0, 0, 0, 0); B.int a[10]={}; C.int a[]={0}; D.int a[2]={10, 9, 8}; 5.对以下说明语句得正确理解就是( B )。 int a[10]={6, 7, 8, 9, 10}; A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值得个数不相同,所以此语句不正确 二、填空题 6.求所有不超过200得N值,N得平方就是具有对称性质得回文数。所谓回文数就就 是将一个数从左到右与从右到左读都就是一样得,例如:34543与1234321都就是回文数。 例如:满足题意要求得数有:N=1,11*11=121;N=111,111*111=12321。 #include main() {int m[16], n, i, t, count=0; long a, k; printf("Result is:\n"); for (n=10; n<200; n++) { k=0; t=1; a=n*n; for (i=1; a!=0; i++) { ①; a/=10; } for (; i>1; i--) { k+=m[i-1]*t; ②;

C语言程序设计模拟考试试卷及答案(五)

C语言程序设计模拟考试试卷及答案(五) 1、下列电子邮件地址中正确的是(其中□表示空格) A) Malin&https://www.360docs.net/doc/9b19176511.html, B) malin@https://www.360docs.net/doc/9b19176511.html, C) Lin□Ma&https://www.360docs.net/doc/9b19176511.html, D) Lin□Ma@https://www.360docs.net/doc/9b19176511.html, 2、下列说法中正确的是 A) 为了使用Novell网提供的服务,必须采用FTP协议 B) 为了使用Internet网提供的服务,必须采用TELNET协议 C) 为了使用Novell网提供的服务,必须采用TCP/IP协议 D) 为了使用Internet网提供的服务,必须采用TCP/IP协议 3、下列说法中不正确的是 A) 调制解调器(Modem)是局域网络设备 B) 集线器(Hub)是局域网络设备 C) 网卡(NIC)是局域网络设备 D) 中继器(Repeater)是局域网络设备 4、十进制数397的十六进制值为 A) 18D B) 18E C) 277 D) 361 5、下列说法中不正确的是 A) CD-ROM是一种只读存储器但不是内存储器

B) CD-ROM驱动器是多媒体计算机的基本部分 C) 只有存放在CD-ROM盘上的数据才称为多媒体信息 D) CD-ROM盘上最多能够存储大约650兆字节的信息 6、Windows应用环境中鼠标的拖动操作不能完成的是 A) 当窗口不是最大时,可以移动窗口的位置 B) 当窗口最大时,可以将窗口缩小成图标 C) 当窗口有滚动条时可以实现窗口内容的滚动 D) 可以将一个文件移动(或复制)到另一个目录中去 7、从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos 状态,在DOS提示符下,应键入的命令为 A) EXIT B) QUIT C) WIN D) DOS -U 8、要在Windows标准窗口的下拉菜单中选择命令,下列操作错误的是 A) 用鼠标单击该命令选项 B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键 C) 同时按下ALT键与该命令选项后括号中带有下划线的字母键 D) 直接按该命令选项后面括号中带有下划线的字母键 9、ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为

计算机二级C语言五套模拟卷及答案

计算机二级C语言五套模拟卷及答案 模拟试题一 一、选择题(本大题30分,每小题2分) 1.下列说法正确的是。 E) main函数必须放在C程序的开头 F) main函数必须放在C程序的最后 G) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 H) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:。 A)整型实型字符型B)整型数组指针 C)数组结构体共用体D)指针逻辑型空类型 3.若有说明语句:char c= ‘\64’; 则变量C包含:。 A)1个字符B)2个字符 C)3个字符D)说明不合法,C值不确定 4.设有如下定义和执行语句,其输出结果为:。 int a=3,b=3; a = -- b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 5.C语言中,运算对象必须是整型数的运算符是。 A)% B)\ C)% 和\ D)** 6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 7.程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行结果是last= 。 A)2 B)3 C)4 D)无结果 8.下面有关for循环的正确描述是。 A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。 A)j*m+i B)i*m+j C)i*m+j-113 D)i*m+j+1 10.C语言中变量的指针指的是:。 A)变量类型B)变量值C)变量值D)变量地址 11.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:。 A)strcpy(str1,str2);

C语言在线实验第5次(第七章函数)-题目与答案

第五次实验题目-第七章函数 教学目标3 1.一元二次方程的系数:a、b、c由主函数输入,编写函数求方程的根。 #include #include void root(double a, double b, double c) { double delta,x1,x2,m,n; if (fabs(a) <= 1e-6){ if (fabs(b) <= 1e-6) puts("Not an equation"); else printf("x=%.2lf",-c/b); return; } else{ delta=b*b - 4*a*c; m = -b / (2*a); n = sqrt(fabs(delta)) / (2*a); x1 = m + n; x2 = m - n; if (fabs(delta) <= 1e-6) printf("x1=%.2lf, x2=%.2lf", x1, x1); else if (delta < 0) printf("x1=%.2lf+%.2lfi, x2=%.2lf-%.2lfi",m,n,m,n); else printf("x1=%.2lf, x2=%.2lf", x1, x2); } } int main( ) { double a,b,c; scanf("%lf%lf%lf",&a,&b,&c); root(a,b,c); return 0; } 教学目标3 2.输入一串字符,统计其中英文字母的个数,编写统计英文字母个数的函数。#include int numberOfLetter(char str[]) { int i=0; int num = 0;

C语言课后练习题答案第五章

作业四:简单程序设计 1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列.如果字符串长度大于5,则输出按方式〔B〕;如果字符串长度小于5,则输出按方式〔C〕.〔5分〕<重要> A> 从左起输出该字符串,右补空格B> 按原字符长从左向右全部输出 C> 右对齐输出该字符串,左补空格D> 输出错误信息 2.阅读以下程序,当输入数据的形式为:25,13,10〔注:表示回车〕,则正确的输出结果为〔D〕.〔5分〕 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> 不确定值 3.根据下面的程序与数据的输入和输出形式,程序中输入数据的正确形式应该为〔WXY〕.〔5分〕 main<> { char ch1,ch2,ch3;

scanf<"%c%c%c",&ch1,&ch2,&ch3>; printf<"%c%c%c",ch1,ch2,ch3>; } 4.以下的输出结果是〔x=1,y=2*sum*=3 10 Squard is : 100〕.〔5分〕 main<> { int x=1,y=2; printf<"x=%d y=%d * sum * =%d\n",x,y,x+y>; printf<"10 Squared is : %d\n",10*10>; } 5.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序<包括定义变量类型和设计输出>.要求输出的结果如下:〔20分〕 a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.6 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1=’a’ or 97 c2=’b’ or 98 main<> { int a=3,b=4,c=5;

C语言程序设计试题第五套-试卷

“C程序设计及实验”试题卷 注意:答题内容必须写在答题卷上,写在本试题卷上无效 一.单项选择题(每题1分,共10分) 1. 下列运算符中,优先级最低的是_____。 A.<< B.!= C.&& D.= 2. 以下选项中不正确的整型常量是_____。 A.0xa B.010L C.10 D.1.0 3. 表达式!(x>0||y>0) 等价于_____。 A.!(x>0)&&!(y>0) B.!x>0&&!y>0 C.!x>0||!y>0 D.!(x>0)||!(y>0) 4. 表达式______的值不是0。 A.1/2 B.!’\0’C.!EOF D.NULL 5. 若x 是浮点型变量,表达式(x=10/4) 的值是_____ 。 A.2.5 B.2.0 C.3 D.2 6. 若变量已正确定义并赋值,表达式______不正确。 A.a&b B.a^b C.&&x D.a, b 7. 对于变量定义int a[10], *p=a;,表达式______是不正确的。 A.a[9] B.p[5] C.*p++ D.a++ 8. 不正确的赋值或赋初值的方式是______。 A.char str[10]; str="string"; B.char str[ ]="string"; C.char *p="string"; D.char *p; p="string"; 9. 设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______。 #include void fun(int x) { static int y; …… return; } int z; void main( ) { int a,b; fun(a); …… } A.x, y B.x, y, z C.a,b,y,z D.a,b,x,y,z 10. 对于变量定义int p[5], *a[5];,表达式______是正确的。 A.p=a B.p[0]=a C.*(a+1)=p D.a[0]=2 二、填空题(每题2分,共30分) 1. 数组定义为int a[2][3][4],则数组a 中有_____个数组元素。 2002-2003学年春季学期“C程序设计及实验”试题卷第1 页(共8页)

国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及解析)

国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及 解析) 题型有:1. 选择题 选择题 1.设二叉树共有375个结点,其中度为2的结点有187个。则度为1的结点个数是 A.0 B.1 C.188 D.不可能有这样的二叉树 正确答案:A 解析:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2i-1个结点;深度为k的二叉树至多有2k-1个结点;对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。本题中,度为2的结点有187个,叶子结点应该有187+1=188个,度为1的结点个数=375-187-188=0。知识模块:数据结构与算法 2.在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为 A.0或1 B.0 C.1 D.队列满 正确答案:A 解析:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的链式存储也称为链队列。为了便于操作,可给链队列添加1个头结点,并令头指针指向头结点。队列为空的判断条件是头指针和尾指针的值相同,且均指向头结点。当队列为空(0)或1时,front=rear。知识模块:数据结构与算法 3.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为 A.1 B.2 C.3

D.不可能有这样的树 正确答案:B 解析:树的度是指一棵树中,最大的结点的度称为树的度。本题中树的度为3,那么树中最少有一个结点的度为3。而树中没有度为2的结点,叶子结点数为5,度为1的结点下面只有一个叶子结点。因此,该树中含2个度为3的结点满足题目要求。知识模块:数据结构与算法 4.设二叉树共有500个结点,其中叶子结点有250个。则度为2的结点个数是 A.0 B.1 C.249 D.不可能有这样的二叉树 正确答案:C 解析:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2i-1个结点;深度为k的二叉树至多有2k-1个结点;对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。本题中,叶子结点有250个,度为2的结点数为n2=n0-1=250-1=249。知识模块:数据结构与算法 5.T列叙述中正确的是 A.带链栈的栈底指针是固定的 B.带链栈的栈底指针是随栈的操作而动态变化的 C.若带链队列的队头指针与队尾指针相同,则队列为空 D.若带链队列的队头指针与队尾指针相同,则队列中至少有一个元素 正确答案:B 解析:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。带链栈的栈底指针是随栈的操作而动态变化的;若带链队列的队头指针与队尾指针相同,则队列可能为0也可能为1。知识模块:数据结构与算法 6.带链队列空的条件是 A.front=rear=NULL B.front=rear=-1 C.front=NULL且rear=-1 D.front=-1且rear=NULL 正确答案:A

C语言程序设计试卷5(含答案)

注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。 2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔, 不得使用红颜色墨水笔。 二、阅读程序题答题处:(每空3分,共30分) 三、程序改错题答题处:(每空2分,共12分) 四、完善程序填空题答题处:(每空2分,共18分)

一、单项单选题:(每题 1 分,共40 分) (说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”) 1.以下标识符中,能够作为变量名使用的是【1】。 A) n_1 B) char C) x(2) D) 2_a 2.若有定义语句char ch='\072'; 则变量ch 【2】。 A) 定义错误B) 包含1个字符 C) 包含3个字符D) 包含4个字符 3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。 char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1); A) D,D B) 68,D C) D,68 D) 68,68 4.若有如下语句: int x; float y; scanf("k=%d,f=%f",&x,&y); 则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。 说明:备选答案中的表示回车符 A) 5 3.2 B) 5 3.2 C) k=5,f=3.2 D) x=5,y=3.2 5.执行下列程序段后,输出结果是【5】。 int k=10; printf("%d,%o,%x",k,k,k); A) 12,a,10 B) 12,10,a C) 10,12,a D) 10,a,12 6.判断char 型变量ch 是否为小写字母的正确表达式是【6】。 A) ("a"<=ch) && (ch<="z") B) ("a"<=ch) || (ch<="z") C) ('a'<=ch) && (ch<='z') D) ('a'<=ch) || (ch<='z')

2018年计算机二级C语言模拟题5_真题(含答案与解析)-交互

2018年计算机二级C语言模拟题5 (总分100, 做题时间120分钟) 选择题 (每题1分,共40分)下列各题A )、B)、C )、D)四个选项中,只有一个选项是正确的。 1. 下列叙述中正确的是()。 SSS_SINGLE_SEL A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D 线性表的链式存储结构所需要的存储空间与顺序存储结构没有任何关系分值: 1 答案:B 线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此一般要多于顺序存储结构,选项B正确。 2. 列叙述中正确的是()。 SSS_SINGLE_SEL A 栈是一种先进先出的线性表 B 队列是一种后进先出的线性表 C 栈与队列都是非线性结构 D 以上三种说法都不对 分值: 1 答案:D 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构,因此本题答案为D。

3. 软件测试的目的是()。 SSS_SINGLE_SEL A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误 D 发现程序中的错误 分值: 1 答案:D 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,也不是为了评估软件或改正错误,因此本题答案为D。 4. 在软件开发中,需求分析阶段产生的主要文档是()。 SSS_SINGLE_SEL A 软件集成测试计划 B 软件详细设计说明书 C 用户手册 D 软件需求规格说明书 分值: 1 答案:D 需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面,因此本题答案为D。 5. 软件生命周期是指()。 SSS_SINGLE_SEL A

2018年上半年C语言程序设计第05套

2018年上半年C语言程序设计模拟题第5套 1、有关计算机的主要特性,下列叙述错误的是______。 A. 处理速度快,计算精度高 B. 存储容量大 C. 逻辑判断能力一般 D. 网络和通信功能强 参考答案:C 2、当前比较流行的安卓(Android)操作系统主要运行在______上。 A. 智能手机 B. 台式电脑 C. 服务器 D. 笔记本电脑 参考答案:A 3、U盘属于______。 A. 只读存储器 B. 光存储器 C. 外存储器 D. 内存储器 参考答案:C 4、下列不是Windows应用程序窗口组成元素的是______。 A. 标题栏

B. 关闭按钮 C. 任务栏 D. 状态栏 参考答案:C 5、多媒体信息不包括_______。 A. 文字、图形 B. 音频、视频 C. 光驱、声卡 D. 影像、动画 参考答案:C 6、下列关于C语言程序书写规则的说法中正确的是______。 A. 不区分大小写字母 B. 一行只能写一条语句 C. 一条语句可分成几行书写 D. 每行必须有行号 参考答案:C 7、下面关于变量a、b定义及初始化正确的语句是______。 A. int a=b=0; B. char a='\n',b='b'; C. float a=3,int b=2; D. double a=0.5;b=4.5;

参考答案:B 8、已知int a=0x20;,以下说法正确的是______。 A. a是常量 B. a=0x20是常量 C. 0x20是常量 D. 没有常量 参考答案:C 9、以下选项中,可以作为C语言用户标识符的一组是______。 A. void、define、WORD B. a3_b3、_123、xyz C. For、_abc、case D. 2a、Do、sizeof 参考答案:B 10、设有定义:int a=5,b=3;,则表达式a%4*b%2值是______。 A. 1 B. 2 C. 3 D. 4 参考答案:A 11、设有定义:int x=6,y;,则执行语句y=x++;++y;后,y的值是______。 A. 9

C语言上机作业试题5套含答案

第一次上机作业(2021): 要求: 独立完成,上机调试通事后上交 作业提交 邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) 以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。 程序必需采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of is 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: The corresponding Celsius temperature is 4. 计算旅途时刻

输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。) 例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 试探题:你可否编程找出谁做的好事? 有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。 ⏹A说:不是我。 ⏹B说:是C。 ⏹C说:是D。 ⏹D说:他乱说。 已知三个人说的是实话,一个人说的是谎话。此刻要依照这些信息,找出做了好事的人。 第二次上机作业(2021): 要求: 独立完成,程序必需采用缩进格式,上机调试通事后上交 作业提交 邮件主题命名:班级学号姓名(第2次作业),例如:电1301班2王鹏(第2次作业) 以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。1. 4个数排序 从键盘任意输入4个整数,将其按从小到大顺序排序后输出。 例:输入 5 12 -9 3 输出After ascending sorting: -9 3 5 12 2.求1 + 1/2! +....+ 1/n! 输入正整数n,计算上式前n 项的和(保留 4 位小数)。 例:输入10 输出 1 + 1/2! +....+ 1/10!= 3. 编程计算表达式:data1 op data2 的值。(+ - * / %) 例:输入23+12 输出23+12=35 4. 用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。 例:输入Please input the lower and upper boundaries: 3 10 输出No root in this boundary! Please input the lower and upper boundaries: 1 5

相关主题
相关文档
最新文档