C程序设计3

2026/1/18 2:29:17

程序设计模拟题3

一 单项选择题

1. 选出C语言的合法变量名__B___

A $123 B _auto_ C register D 2_and 2. int j; float y; char name[50]

当执行以下C语句时

scanf( \ 输入以下字符: 55566 777% 则y 的值是_ A_

A 55566.0 B 777.0 C 566.0 D 566777.0 3. 下列关于switch语句和break语句的说法中,正确的是__B__。 A break语句是switch语句中的一部分

B 在switch语句中可以根据需要使用或不使用break语句 C 在switch语句中必须使用break语句 D 以上三个结论中有两个是正确的 4. 以下的for循环_B__ for(x=0,y=0;(y!=123)&&(x<4);x++);

A 执行三次 B 执行四次 C 循环次数不定 D 是无限循环 5. 关于下面的程序片段: #define A 3

#define B(a) ((A+1)*a) int X;

X=3*(A+B(7));

正确的判断是_B__

A 程序错误,不允许嵌套宏定义 B X值为93 C X值为21 D 程序错误,宏定义不允许有参数 6. 选出正确的赋值语句______(设char b[5],*p=b;)

A b= \ B *a= \ C p= \ D *p= \7. 以下对二维数组a的正确说明是_____ A int a[ ][3]={ 0 }; B int a[3][ ]={ {1},{2},{3} }; C int a[1][3]={ 1,2,3,4 }; D int a[2][3]={ {1,2},{3,4},{5,6} }; 8. 合法的实型常量是______ A 123e B 3e-0.5 C .e3 D -2.0e-2

9. C语言程序的三种基本结构是______

A 递归结构,循环结构,转移结构 B 顺序结构,选择结构,循环结构 C 嵌套结构,递归结构,顺序结构 D 循环结构,转移结构,顺序结构 };s; 二 填空题

1.若整型变量a=5,b=4,c=3,则表达式a>b||b>c的值为 。 2.已知a=3,b=5,c=7;则b>c?b:a的值为_______。 3.表达式7&3的结果为_______。

4. 构成数组的各个元素必须具有相同的_______ 。 5. 若整型变量a=5,则表达式a<<2的值为 。

第 1 页

6.将一维数组a的第j个元素的地址赋给指针变量p的语句是______。 7.定义int i=1;执行while(i++<5)后i的值为______。

8.设a=7,b=6,c=5;写出表达式(a+b)>(c*c)&&b的值是______。

三 程序填空题

1.输出由'*'组成的倒三角图案,图案的行数n从键盘输入。

如果行数n为6,则图案如图所示: ****** ***** **** *** ** * #include main( )

{

int i, j, n;

printf(\ scanf(\(1)___);

for( i=0; i___(2)___n; i++ ) {

for( j=___(3)___; j

putchar( '*' );

putchar( '\\n' ); } }

2.数组a中存放N个由小到大排列的有序整数。从键盘输入一整数x,使用二分法在数组中查找是否

有此整数。二分查找法的思路是:将待查数据与全部数组元素中位于中间下标位置的元素相比较,如果待查数据大于中间元素,则缩小查找范围,在中点之后的数组元素中继续查找;否则在在中点之前继续查找。

#include #define N 10 main() { int x, mid, lo, hi; static int a[N]={ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 };

scanf( \ lo=___(1)___; hi=N-1;

while(lo<=hi) { mid=(lo+hi)/2; if( x==a[mid] ) ___(2)___; else if( x>a[mid] ) lo=mid+1;

else hi=__(3)__; } if(lo<=hi) printf(\

第 2 页

else printf(\ } 四 改错题

(下面每小题有三行程序存在错误,要求不改变程序的功能,指出出错语句,并写出完整的正确语句) 1.本程序计算N×N二维整型数组中元素值为负数的元素个数占全部元素个数的百分比(输出时保留一位小数)。 行号 程序

01 #include 02 #define N 4

03 float fun( int arr[][N] ); 04 main( ) 05 {

06 static int aa[][]={

07 { 1, 2, 3, 4 }, { 4, 5, 6, 7 }, 08 { 10,11,12,13 }, {20,21,22,23 } }; 09 float p; 10 p=fun(aa);

11 printf(\ 12 }

13 void fun( int arr[][N] ) 14 {

15 int i, j;

16 int s=0;

17 for( i=0; i

18 for( j=1; j

21 return (float)s/(N*N); 22 }

可能出错的程序语句的行号为:03、06、10、11、13、16、18、19、21,错误依次为: 行号___06___应改为________ static int aa[][N]={___________。 行号___13 ___应改为________ float fun(int arr[ ][N])______。 行号___18___应改为__________ for(j=0;j

01 #include 02 main( ) 03 {

04 char s[81]; 05 char *p1, p2;

第 3 页

06 printf(\ 07 scanf(“%s”,s); 08 p1=p2=s;

09 while( p1!= ’\\0’ ) 10 {

11 if(*p1!=’ ’) 12 {

13 *p2=*p1; 14 p2++; 15 } 16 p1++;

17 }

18 *p2 = ’\\0’;

19 printf(\ 20 }

可能出错的程序语句的行号为:05、07、08、09、11、13、16,错误依次为: 行号__05____应改为________ char *p1,*p2;________ 。 行号___07___应改为____________ gets(s);_________。 行号___09___应改为______while(* p1!= ’\\0’ );_____。 五 阅读理解

1. 下面程序的输出结果为:___0_______。

main() {

static int x[]={5,9,2,8,6,7}; int s, *p; s=0;

for(p=x; p

s+=1/(*p); printf(“%d”,s);

} 2.

下面程序的输出结果为:_____10______

#include int x=5; main()

{ int x=10; fun(x); printf(“%d”,x); }

fun(int x) {

x=15;

return; }

第 4 页


C程序设计3.doc 将本文的Word文档下载到电脑
搜索更多关于: C程序设计3 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219