高级语言程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
switch(x) { case 1:switch(y)
{ case 0:a++; break; case 1:b++; break; }
case 2: a++; b++; break; case 3: a++; b++; } printf(“a=%d,b=%d”,a,b); } 程序运行后的输出结果是_______________。 32、void main() { int k=0,m=0;
D)a+b txt2 PI
2、以下叙述错误的是(
)。
A)C 程序的三种基本结构是顺序、选择、循环
B)C 程序总是从 main 函数开始执行
C)C 语言本身不提供输入输出语句
D)C 语言不区分大小写
3、在 C 语言中,关系表达式和逻辑表达式运算结果的值是(
)。
A)'T'或'F'
B)0 或非 0
C)真或假
36、找出二维数组 a 中的最大元素,并要求输出该元素以及该元素的行号和列号,二维数组元 素可以从键盘输入也可以定义时直接赋初值。
【第 6 页共 6 页】
26、在 while(!a)语句中的!a 与__________条件表达式等价。
27、C 语言中__________ 语句结束本次循环,__________ 语句结束本层整个循环过程。
28、设有 char *q=”helloC”; 则 printf(“%s”,q);的输出是
;而 printf“( %c”,*(q+1)) ;
B) 23
C) 16
D) 不确定
18、设 a、b、c 都是 int 型变量且 a=3,b=4,c=5,则以下表达式中值为 0 的是:(
)。
A) a&&b||(b==c) 19、有以下函数
B) !a||b&&!c C) a&&b||c
D) a<=b
int fun(char *r)
{char *t=r;
D)int c[5]="1234";
12、当调用函数时,实参是一个数组名,则向函数传送的是(
)。
A)数组的长度 C)数组每一个元素的地址
B)数组每个元素中的值 D)数组的首地址
13、表达式 4.2/6+1/2+55%10 的计算结果是(
A)6.2
B) 0.7
C)5.7
14、有以下程序,程序运行后的输出结果是(
度实型变量。
23、已知字符’A’的 ASCII 码值为 65,语句 printf(“%d”,’E’);的输出结果是________。
24、变量已经正确定义,语句 t=x; __________ ; y=t ; 能将 x 与 y 的值进行交换。
25、在 C 语言程序中,表达式 5%2 的结果是__________。
D)0 或 1
4、有以下程序,程序运行后的输出结果是(
)。
void main()
{ char t[]={'w', 'o', 'r', 'l', 'd'}, r[]="world";
printf("%d %d\n", sizeof(t),strlen(r)); }
A) 5 5
B) 6 6 C) 5 6
【第 2 页共 6 页】
int x=0,y=2,z=3;
switch(x)
{ case 0: switch(y==2)
{ case 1: printf("#AA");break;
case 2: printf("?BB");break; }
case 1:switch(z)
{ case 1:printf("*CC");break;
D) 6 5
5、在变量定义语句:int x1=2,x2=3,x3=4,*p=&x1;之后,以下语句中正确输出 1 2 3 的是(
)。
A)printf("%d %d %f",x1,x2,x3);
B) printf("%d %d %d",*p, x2,x3);
C)printf ("%d %d %f",p,x2,x3 );
else return n*fun(n-1); }
void main()
{ printf("%d", fun(5)); }
程序运行后的输出结果是_______________。
34、void main()
{void fun(char *s, char *t);
char *s1="Best wish.";
)。 D)10.7
)。
void main()
{ int a[8]={1,2,3,4,5,6,7,8},i=0,s=0;
while(i++<7) if ( a[i]%2 ) s+=a[i];
printf("%d\n",s); }
A)35
B)20
C)16
15、若有结构体定义如下,则表达式(
D)15 )不符合 C 语言语法。
考试科目: 高级语言程序设计
题号 一 二 三 四 五 六 七 八 九 十 总分 阅卷人 得分
得分
一、单项选择题(每题 2 分,共 40 分,请直接把答案填在题目括号里。)
1、下列用户标识符均合法的一组是( )。 A) ab int %x B)?isq 2ab How C)_charc intd _init_
D)'A'<=c<='Z'
【第 1 页共 6 页】
9、有定义 int a[4][5]; 后,则第 12 个元素是(
)。
A) a[2][2]
B. a[3][2]
C. a[2][1] D.a[1][2]
10、若变量已正确定义,下列程序段输出结果是(
)。
j=0;
do { printf("%d,",j);
while(*t++);
return(t-r); }
该函数功能(
)。
A)将 r 所指的字符串复制到字符串 t 中 B)计算 r 所指字符串占用内存字节的个数
C)比较两个字符串的大小
D)计算 r 所指字符串的长度
20、对于 C 程序的函数,下列叙述正确的是(
)。
A)函数的定义和调用均不允许嵌套 C)函数的定义和调用均可嵌套
case 2:printf("#DD");break;
default : printf("$EE"); }
}
A)?BB$EE B)#AA C)#AA$EE D)#AA?BB*CC#DD$EE
17、假设有宏定义: #define P(x) (x)*(x) 则表达式: P(5+3)的值是(
)。
A) 64
*t='\0';
return;
}
程序运行后的输出结果是___________________。
得分
四、编程题(每题 10 分,共 20 分,要求有详细的编程过程,请直接把答 案填在题目空白处。)
【第 5 页共 6 页】
35、打印 2~500 间的全部素数,同时求其和。(只能被 1 和这个数自身整除的数叫素数)。
D)printf("%d %d %d",p,x2,x3 );
6、有语句:int m; float n; scanf("m=%d,n=%f",&m,&n);
为使变量 m、n 分别为 8 和 7.5,从键盘输入数据的正确形式为(
A) 8 7.5<回车>
B) 8,7.5<回车> C) m=8 n=7.5<回车>
)。 D) m=8,n=7.5<回车>
7、运算符 +、||、=和==中,优先级最低的是(
Fra Baidu bibliotek
)。
A)!
B)&&
C)=
D)==
8、已有定义:char c; 能正确判断 c 为大写字母的 C 语言表达式是(
)。
A)(c>='A') && (c<='Z')
B)(c>='A') & (c<='Z')
C)('A'<=c) AND ('Z'>=c)
int i,j;
【第 4 页共 6 页】
for(i=0;i<2;i++) {
for(j=0;j<3;j++) k++;
k-=j; } m=i+j; printf("k=%d,m=%d",k,m); } 程序运行后的输出结果是_______________。
33、int fun(int n)
{ if(n==1||n==0) return 1;
的输出则是__________。
29、C 语言规定了以字符__________作为字符串结束标志。
30、int i; for(i=1;i<10;i+=3){ 循环体 };循环体将执行__________次。
得分
三、读程序,求结果(每小题 5 分,共 20 分,请直接把答案填在题目下划线处。)
31、void main() { int x=1,y=0,a=0,b=0;
B)函数的定义能嵌套,但函数调用不可以嵌套 D)函数的定义不能嵌套,但函数调用可以嵌套
得分
二、填空题(每题 2 分,共 20 分,请直接把答案填在题目下划线处。) 【第 3 页共 6 页】
21、C 程序执行时总是从
开始执行,并且在其中结束。
22、在 C 语言程序中,用关键字__________定义基本整型变量,用关键字__________定义双精
struct student{ int no;
char name[10];
float score;
} stu[5]; A) stu[0].no=100;
B) stu[0].score=100;
C) stu[0].name=”Zhang”; 16、以下程序输出结果是(
D) stu[0].name[0]=’Z’; )。
char s2[]="This is a test.";
char *p=s2;
fun(s1,s2);
printf("string s1=%s\nstring s2=%s\n",s1,s2);
}
void fun(char *s, char *t)
{ for(;*s!='\0';s++,t++)
{*t=*s;}
}while ( j++ );
printf("%d\n",j);
A)0,1
B) 0,0
C)1,1
D)程序进入无限循环
11、以下能正确定义一维数组的选项是(
)。
A)int c[6]={0,1,2,3,4,5,6}; B)char c[]={0,1,2,3,4,5};
C)char c={'a','b','c'};
{ case 0:a++; break; case 1:b++; break; }
case 2: a++; b++; break; case 3: a++; b++; } printf(“a=%d,b=%d”,a,b); } 程序运行后的输出结果是_______________。 32、void main() { int k=0,m=0;
D)a+b txt2 PI
2、以下叙述错误的是(
)。
A)C 程序的三种基本结构是顺序、选择、循环
B)C 程序总是从 main 函数开始执行
C)C 语言本身不提供输入输出语句
D)C 语言不区分大小写
3、在 C 语言中,关系表达式和逻辑表达式运算结果的值是(
)。
A)'T'或'F'
B)0 或非 0
C)真或假
36、找出二维数组 a 中的最大元素,并要求输出该元素以及该元素的行号和列号,二维数组元 素可以从键盘输入也可以定义时直接赋初值。
【第 6 页共 6 页】
26、在 while(!a)语句中的!a 与__________条件表达式等价。
27、C 语言中__________ 语句结束本次循环,__________ 语句结束本层整个循环过程。
28、设有 char *q=”helloC”; 则 printf(“%s”,q);的输出是
;而 printf“( %c”,*(q+1)) ;
B) 23
C) 16
D) 不确定
18、设 a、b、c 都是 int 型变量且 a=3,b=4,c=5,则以下表达式中值为 0 的是:(
)。
A) a&&b||(b==c) 19、有以下函数
B) !a||b&&!c C) a&&b||c
D) a<=b
int fun(char *r)
{char *t=r;
D)int c[5]="1234";
12、当调用函数时,实参是一个数组名,则向函数传送的是(
)。
A)数组的长度 C)数组每一个元素的地址
B)数组每个元素中的值 D)数组的首地址
13、表达式 4.2/6+1/2+55%10 的计算结果是(
A)6.2
B) 0.7
C)5.7
14、有以下程序,程序运行后的输出结果是(
度实型变量。
23、已知字符’A’的 ASCII 码值为 65,语句 printf(“%d”,’E’);的输出结果是________。
24、变量已经正确定义,语句 t=x; __________ ; y=t ; 能将 x 与 y 的值进行交换。
25、在 C 语言程序中,表达式 5%2 的结果是__________。
D)0 或 1
4、有以下程序,程序运行后的输出结果是(
)。
void main()
{ char t[]={'w', 'o', 'r', 'l', 'd'}, r[]="world";
printf("%d %d\n", sizeof(t),strlen(r)); }
A) 5 5
B) 6 6 C) 5 6
【第 2 页共 6 页】
int x=0,y=2,z=3;
switch(x)
{ case 0: switch(y==2)
{ case 1: printf("#AA");break;
case 2: printf("?BB");break; }
case 1:switch(z)
{ case 1:printf("*CC");break;
D) 6 5
5、在变量定义语句:int x1=2,x2=3,x3=4,*p=&x1;之后,以下语句中正确输出 1 2 3 的是(
)。
A)printf("%d %d %f",x1,x2,x3);
B) printf("%d %d %d",*p, x2,x3);
C)printf ("%d %d %f",p,x2,x3 );
else return n*fun(n-1); }
void main()
{ printf("%d", fun(5)); }
程序运行后的输出结果是_______________。
34、void main()
{void fun(char *s, char *t);
char *s1="Best wish.";
)。 D)10.7
)。
void main()
{ int a[8]={1,2,3,4,5,6,7,8},i=0,s=0;
while(i++<7) if ( a[i]%2 ) s+=a[i];
printf("%d\n",s); }
A)35
B)20
C)16
15、若有结构体定义如下,则表达式(
D)15 )不符合 C 语言语法。
考试科目: 高级语言程序设计
题号 一 二 三 四 五 六 七 八 九 十 总分 阅卷人 得分
得分
一、单项选择题(每题 2 分,共 40 分,请直接把答案填在题目括号里。)
1、下列用户标识符均合法的一组是( )。 A) ab int %x B)?isq 2ab How C)_charc intd _init_
D)'A'<=c<='Z'
【第 1 页共 6 页】
9、有定义 int a[4][5]; 后,则第 12 个元素是(
)。
A) a[2][2]
B. a[3][2]
C. a[2][1] D.a[1][2]
10、若变量已正确定义,下列程序段输出结果是(
)。
j=0;
do { printf("%d,",j);
while(*t++);
return(t-r); }
该函数功能(
)。
A)将 r 所指的字符串复制到字符串 t 中 B)计算 r 所指字符串占用内存字节的个数
C)比较两个字符串的大小
D)计算 r 所指字符串的长度
20、对于 C 程序的函数,下列叙述正确的是(
)。
A)函数的定义和调用均不允许嵌套 C)函数的定义和调用均可嵌套
case 2:printf("#DD");break;
default : printf("$EE"); }
}
A)?BB$EE B)#AA C)#AA$EE D)#AA?BB*CC#DD$EE
17、假设有宏定义: #define P(x) (x)*(x) 则表达式: P(5+3)的值是(
)。
A) 64
*t='\0';
return;
}
程序运行后的输出结果是___________________。
得分
四、编程题(每题 10 分,共 20 分,要求有详细的编程过程,请直接把答 案填在题目空白处。)
【第 5 页共 6 页】
35、打印 2~500 间的全部素数,同时求其和。(只能被 1 和这个数自身整除的数叫素数)。
D)printf("%d %d %d",p,x2,x3 );
6、有语句:int m; float n; scanf("m=%d,n=%f",&m,&n);
为使变量 m、n 分别为 8 和 7.5,从键盘输入数据的正确形式为(
A) 8 7.5<回车>
B) 8,7.5<回车> C) m=8 n=7.5<回车>
)。 D) m=8,n=7.5<回车>
7、运算符 +、||、=和==中,优先级最低的是(
Fra Baidu bibliotek
)。
A)!
B)&&
C)=
D)==
8、已有定义:char c; 能正确判断 c 为大写字母的 C 语言表达式是(
)。
A)(c>='A') && (c<='Z')
B)(c>='A') & (c<='Z')
C)('A'<=c) AND ('Z'>=c)
int i,j;
【第 4 页共 6 页】
for(i=0;i<2;i++) {
for(j=0;j<3;j++) k++;
k-=j; } m=i+j; printf("k=%d,m=%d",k,m); } 程序运行后的输出结果是_______________。
33、int fun(int n)
{ if(n==1||n==0) return 1;
的输出则是__________。
29、C 语言规定了以字符__________作为字符串结束标志。
30、int i; for(i=1;i<10;i+=3){ 循环体 };循环体将执行__________次。
得分
三、读程序,求结果(每小题 5 分,共 20 分,请直接把答案填在题目下划线处。)
31、void main() { int x=1,y=0,a=0,b=0;
B)函数的定义能嵌套,但函数调用不可以嵌套 D)函数的定义不能嵌套,但函数调用可以嵌套
得分
二、填空题(每题 2 分,共 20 分,请直接把答案填在题目下划线处。) 【第 3 页共 6 页】
21、C 程序执行时总是从
开始执行,并且在其中结束。
22、在 C 语言程序中,用关键字__________定义基本整型变量,用关键字__________定义双精
struct student{ int no;
char name[10];
float score;
} stu[5]; A) stu[0].no=100;
B) stu[0].score=100;
C) stu[0].name=”Zhang”; 16、以下程序输出结果是(
D) stu[0].name[0]=’Z’; )。
char s2[]="This is a test.";
char *p=s2;
fun(s1,s2);
printf("string s1=%s\nstring s2=%s\n",s1,s2);
}
void fun(char *s, char *t)
{ for(;*s!='\0';s++,t++)
{*t=*s;}
}while ( j++ );
printf("%d\n",j);
A)0,1
B) 0,0
C)1,1
D)程序进入无限循环
11、以下能正确定义一维数组的选项是(
)。
A)int c[6]={0,1,2,3,4,5,6}; B)char c[]={0,1,2,3,4,5};
C)char c={'a','b','c'};