出自:华北水利水电大学C 语言程序设计

continue语句只能用在()结构中。
判断整数a即能被3整除又能被5整除的合法表达式为()。
对n个数进行排序,最多需要进行()趟冒泡排序。
一个完整的C语言程序,是由一个()和若干(或0个)其它函数结合而成的。
C语言中,基本整型类型关键字为(),在16位操作系统中,一般用()字节表示一个变量。单精度浮点型型类型关键字为(),一般占()字节。
如果某一函数直接或间接地调用自身,这样的调用称为()。
在C语言中,二维数组的元素在内存中的存放顺序是()。
数组名表示数组在内存的()。
C语言数组的下标总是从()开始,不可以为负数;构成数组各个元素具有相同的()。
指针变量也是一个变量,只不过该变量中存储的是(),如果一个变量存储另一个对象的地址,则称该变量()。
数组中的每一个元素都属于同一数据类型,数组中的每一个元素都是由()来唯一确定。
若定义x[5],则数组名x的含义是()。
定义二维数组时,数组名后要有两个下标,其中,第一个下标的含义是(),第二个下标的含义是()。
所有的C函数都必须在被()时才能执行其函数体,从而完成函数的功能。
外部变量是指在()定义的变量。
逻辑表达式的值只能为1或0。() A.正确 B.错误
C语言程序的实现与其它高级语言一样也需要经过编辑、编译、链接和执行的步骤。() A.正确 B.错误
C语言程序在书写上只能是一条语句写一行。() A.正确 B.错误
内存单元的地址与内存单元中的数据是两个完全相同的概念。() A.正确 B.错误
double型变量在内存中占的字节数比int型变量在内存中占的字节数多。() A.正确 B.错误
预处理指令的前面必须加一个“#”号。() A.正确 B.错误
C语言格式化标准输入函数scanf()的参数表中要使用变量的地址值。() A.正确 B.错误
表达式语句和表达式没有什么区别。() A.正确 B.错误
C语言程序中可以有多个函数,但只能有一个主函数。() A.正确 B.错误
在多层循环中,一个break语句只向外跳一层。() A.正确 B.错误
在对数组全部元素赋初值时,不可以省略行数,但能省略列数。() A.正确 B.错误
函数的实参传递到形参有两种方式:值传递和地址传递。() A.正确 B.错误
指向结构体的指针可以作函数参数,实现传址调用。() A.正确 B.错误
用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志’\0’。() A.正确 B.错误
可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。() A.正确 B.错误
函数形参的存储单元是动态分配的。() A.正确 B.错误
在C语言中,能逐个地使用下标变量,也能一次引用整个数组。() A.正确 B.错误
如果指针变量p已指向数组中的一个元素,则p+1指向同一数组的下一个元素。() A.正确 B.错误
如果函数定义出现在函数调用之前,可以不必加函数原型声明。() A.正确 B.错误
指针变量可以存放指针(地址)、数值和字符。() A.正确 B.错误
字符串在内存中的起始地址成为字符串的指针,可以定义一个字符指针变量指向一个字符串。() A.正确 B.错误
凡在函数中未指定存储类别的局部变量,其默认的存储类别为static。() A.正确 B.错误
一个变量的地址称为该变量的指针。() A.正确 B.错误
一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址。() A.正确 B.错误
函数的实参可以是常量、变量或表达式。() A.正确 B.错误
编程:输入4个实数x1,y1,x2,y2,数据之间用空格隔开。表示两点坐标A(x1,y1),B(x2,y2),计算并输出两点间的距离。结果保留两位小数。部分程序如下: #include #include int main() { double x1, y1, x2, y2, dist; scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2); ( ) } printf("%.2f\n", dist); return 0; }
编程:输入两个整数 a 和 b ,求其中较大的一个的值,并存储到变量 max 中。部分程序如下: #include int main(void) { int a, b, max; scanf("%d%d", &a, &b); max = a; if ( ) max = b; printf("max = %d", max); return 0; }
编程:从键盘输入一个英文字母,判断大小写,若是大写,输出“upper case ”,否则输出 “lower case”。部分程序如下: #include int main(void) { char ch; ch = getchar( ); if( ) printf("upper case %c\n", ch); else printf("lower case %c\n", ch); return 0; }
编程:求n个数的和。首先输入一个整数n,然后输入n个整数,求它们的和。部分程序如下: #include int main(void) { int number, sum; int i, n; sum = 0; scanf("%d", &n); for(i = 1; i <= n; i++) { scanf("%d", &number); ( ) } printf("%d\n", sum); return 0; }
编程:求数列1-1/3+1/5-1/7+1/9…的前n项和。结果保留两位小数。部分程序如下: #include int main(void) { int i, n, deno; double sum, flag; scanf("%d\n", &n); sum = 0; deno = 1; flag = 1.0; for(i = 1; i <= n; i++) { ( ) deno = deno+2; flag = -flag; } printf("%.2f\n", sum); return 0; }
编程:求两个整数的和。要求输入包含多组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果。当a和b同时为0时表述输入结束。部分程序如下: #include int main(void) { int a, b; while( ) printf("%d\n", a + b); return 0; }
经典的百钱买百鸡问题是:公鸡五文钱一只,母鸡三文钱一只,鸡仔一文钱三只,用100文钱买100只鸡,公鸡、母鸡、鸡仔各买多少只? 编程解决如下问题:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、鸡仔各买多少只?如果问题有解,输出所有解,每个解占一行,每个整数用空格隔开;如果问题无解,则输出“No answer”。 部分程序如下: #include int main(void) { int i, j, k, n, noAnswer; scanf("%d", &n); noAnswer = 1; for(i = 0; i <= n/5; i++) for(j =0 ; j <= n/3; j++) { k = n – i - j; if( ) { printf(“%d %d %d\n”, i, j, k); noAnswer = 0; } } if (noAnswer == 1) printf("No answer\n"); return 0; }
编程:输入m,若m是素数,则输出“yes”,否则输出“no”。素数的定义:除了1和m,不能被其它数整除。注意,1不是素数。部分程序如下: #include #include int main() { int m,k,flag; int i; scanf("%d",&m); k = (int)sqrt(m); flag = 0; for(i = 2; i <= k; i++) { if( ) { flag = 1; break; } } if(m==1) flag=1; if( flag == 0 ) printf("yes\n"); else printf("no\n"); return 0; }
编程:输出阶乘表。输入一个整数n(n<=20),输出1-n的阶乘表。部分程序如下: #include int main(void) { int i, n; double fact; printf("input n: \n"); scanf ("%d", &n) ; for (fact=1, i = 1; i <= n; i++ ) { printf ( "%d %.0f \n", i, fact ); } return 0; }
编程:输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。部分程序如下: #include int main() { int i,j,k,n; for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if ( ) printf("%d ",n); } printf("\n"); return 0; }