当前位置:首页 > 编程笔记 > 正文
已解决

C_2练习题

来自网友在路上 170870提问 提问时间:2023-11-09 09:59:26阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1.对C语言程序,以下说法正确的是()

A.main函数是主函数,一定要写在最前面。

B.所有的自定义函数,都必须先声明。

C.程序总是从main函数开始执行的。

D.程序中只能调用库函数,不能自己定义函数。

2. 以下()不是合法的C语言标识符。

A. main

B._a

C. printf

D. 4ever

3.C语言程序中,要使用数学库函数(例sqrt、sin等),需要在程序最前面加上包含文件的预处理命令()

A. #include <string.h>

B. #include <stdio.h>

C. #include <math.h>

D.不需要加什么

4.()不是合法的常量。

A.38

B.038

C. 3E8

D. "38"

5.为表示关系x2y3z,应使用C语言表达式()

A. (x>=y)&&(y>=z)

B. (x>=y)AND(y>=z)

C. (x>=y>=z)

D. (x>=y)&(y>=z)

6. 表达式()的值是0。

A.3/5

B.3<5

C.3%5

D. 3/5.0

7.设有整型变量a、b、c,其中a,b的值分别为10与20,计算表达式c=(a%2==0)?a:b后,c的值为()

A.0

B.5

C. 10

D.20

8.若有说明语句:char c='\72';则变量c()

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法,e的值不确定

9.假设字符变量ch中存放有小写英文字母,将其转换为相应的大写英文字母的表达式是()。

A. ch= ch-'a'+'A'

B. ch= ch+32

C. tolower(ch)

D. ch-='a'+'A'

10.若a是基本整型变量,。是单精度实型变量,输入语句()是错误的。

A. scanf("%d,%f", &a, &c);

B. scanf("d=%d, c=%f", &a, &c);

C. scanf("%d%f", &a, &c);

D. scanf("%d%f", a, c);

11.下列程序段的输出结果是( )。

#include <stdio.h>
int main()
{int m, k = 0, s = 0;for (m = 1; m <= 4; m++){switch (m % 4) {case 0:case 1: s += m; break;case 2:case 3:s-= m; break;}k += s;}printf("%d\n", k);return 0;
}

A. 10

B.-2

C.-4

D.-12

12. int a=1,b=2,c=3,t; while(a<b<c) {t=a;a=b;b=t;c--;) printf("%d,%d,%d",a,b,c);输出结果()。

A. 1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

13,以下能对一维数组a进行正确初始化的语句是()

A. int a[10]=(0,0,0,0,0)

B. int a[2]=(0,1,2}

C. int a]=(0)

D. int a={{}}

14,以下能正确定义数组并正确赋初值的语句是()

A. int n=5,b[n][n];

B. int a[1][2]={{1},{3}};

C. int c[2]D={{1,2},{3,4}}

D. int a[3][2]={[1,2},(3,4}

15. 有以下定义:char x[ ]="abedefg"; char y[ ]=('a','b','c','d','e','f,'g);则正确的叙述为()。

A.数组 x 和数组y等价

B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度

D.数组x的长度小于数组y的长度

16.在一个被调用函数中,关于return 语句使用的描述,错误的是()。

A.被调用函数中可以不用return语句

B.被调用函数中可以使用多个return语句

C.被调用函数中,如果有返回值,就一定要有return语句

D.被调用函数中,一个return语句可以返回多个值给调用函数

17. 若要使函数不带回任何值,可以()。

A.使用return 语句

B.不定义函数类型

C.把函数定义为void类型

D.不返回main()函数

18.根据声明int a[10],*p=a;,下列表达式错误的是( )。

A. a[9]

B. p[5]

C. a++

D. *p++

19.下面程序段的运行结果是()。

char a[]="language", "p;

p=a;

while(*p != 'u) {printf("%c", *p-32); p++;}

A. LANGUAGE

B. language

C. LANG

D. langUAGE

20.设有以下语句

Yypedef struct S

{int a; char c;}T;

则下面叙述正确的是

A.可用S定义结构体变量

B.可用T定义结构体变量

C.S 是struct类型变量

D.T是struct S类型变量

 二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。

1_______

#include "stdio.h"
int main ()
{int a=2,b=7,c=5;switch (a>0) {case 1:switch (b<0) {case 1:printf("@")   ;break;case 2:printf("!");break;}case 0:switch (c==5) {case 0:printf("*");break;case 1:printf("*");break;default:printf("#");break;}default:printf("&");}printf("\n");return 0;
}

2_______

#include <stdio.h>
struct n{int x; char c;};void func(struct n b){ b.x=20; b.c='y';}void main() {struct n a = {10, 'x'};func(a);printf("%d,%c", a.x, a.c);}

3_______

#include<stdio.h>
int w=3;
int fun(int k)
{if(k==0) return w;return(fun(k-1)*k);
}int main() {int w = 10;printf("%d\n", fun(5) * w);return 0;}

4______

#include<stdio.h>
long fun(int n)
{
long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
int main()
{printf("%ld\n",fun(4));return 0;
}

5_______

#include "stdio.h"
int func(int a,int b)
{int c;c=a+b;return c;
}
int main()
{int x=6,y=7,z=8,r;r= func((x--,y--,x+y),z--);printf("%d\n",r);return 0;}

三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)

1,本题要求采用选择法排序,将给定的n个整数从大到小排序后输出。

#include "stdio.h"
# define  MAXN 10void main(){int i,index,k,n,temp;int a[MAXN];scanf("%d",&n);for (int i = 0; i < n; i++) {scanf("%d",&a[i]);}for (int k = 0; k < a-i; k++) {______________for(i=_________;i<n;i++){if(a[i]>a[index]){______;}lemp=a[index];a[index]=a[k];a[k]=temp;}for (int i = 0; i < n; i++) {printf("%d",a[i]);}}}

2. 本题要求逆序输出一个字符串,要求用递归方式完成。

#include <stdio.h>
_____________
int main() {char str[80];gets(str);_____________return 0;
}void reverse_str(char *p){if(*p){reverse_str(_____________);putchar(__________);}}

四、编程题(本大题共 3小题,每小题 15分,共45分。请在答题纸的相应位置上作答。)

1. 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

2,编写程序输出杨辉三角形(要求输出10行如下图)

1

11

121

1331

14 6 4 1 

15 10105 1

3.编写程序:输入多个字符串,输出其中最短的字符串。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"C_2练习题":http://eshow365.cn/6-36097-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!