云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言程序设计习题集及答案

C语言程序设计习题集及答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/25 19:56:14

for(i=0;i<3;i++) scanf(\%d\,x[i]);

printf(\===\\n\,x[0][0],x[0][1],x[1][0]); }

若运行时输入:2 4 6<回车>,则输出结果是___。

A 2 0 0 B 2 0 4 C 2 4 0 D 2 4 6 16 下列描述不正确的是___。

A 字符型数组中可以存放字符串 B 可以对字符型数组进行整体输入和输出 C 可以对整型数组进行整体输入和输出

D 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 17 对于以下定义,叙述正确的是___。

char x[]=\bcdef\

char x[]={'a','b' 'c','d','e','f'};

A 数组x和数组y等价 B 数组x和数组y的长度相等 C 数组x的长度大于数组y的长度 D 数组x的长度小于数组y的长度 18 以下选项中,不能正确赋值的是___。

A char s1[10];s1=\Ctest\; B char s2[]={'C','t','e','s','t'}; C char s3[20]=\Ctest\; D char s4[30];strcpy(s4,\Ctest\); 19 若有定义和语句:char s=[10];s=\abcd\;printf(\%s\\n\,s);,则输出结果是___。

(以下□表示空格)

A abcd B a C abcd□□□□□ D 编译不通过 20 当执行下面程序时,如果输入ABC,则输出结果是___。

#include #include main()

{ char ss[10]=\12345\;

gets(ss); strcat(ss, \6789\; printf(\%s\\n\,ss); }

A ABC6789 B ABC67 C 12345ABC6 D ABC45678

二 填空题(每空3分,共24分)

1 若int类型变量占两个字节,定义int x[10]={0,2,4};,则数组x在内存中所占的字节数是___。 2 若有定义char a[]=\\\\\141\\141abc\\t\;,则数组a在内存中所占的字节数是___。 3 下列程序的输出结果是___。

main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i; printf(\%d%d%d\\n\,a[2],a[5],a[8]); }

4 下列程序运行的结果是___。

main()

{ char ch[7]=\65ab21\; int i,s=0;

for(i=0;ch[i]>='0' && ch[i]<='9';i+=2) s=10*s+ch[i]-'0';

16

printf(\%d\\n\,s); }

5 有定义语句:char s[100],d[100];int j=0,i=0;且s中已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式) while(s[i])

{ d[j]=___; j++ ; } d[j]=0;

6 下面程序运行的结果是___。

main()

{ char s[]=\abcdef\; s[3]='\\0'; printf(\%s\\n\,s); }

7 以下程序的输出结果是___。

main()

{ char ch[3][5]={\AAAA\,\BBB\,\CC\}; printf(\\\\%s\\\\\n\,ch[1]); }

8 以下程序的输出结果是___。

main()

{ char ch[]=\abc\,x[3][4]; int i; for(i=0;i<3;i++) strcpy(x[i],ch); for(i=0;i<3;i++) printf(\%s\,&x[i][i]); printf(\\\n\); }

三 程序填空题(每空3分,共36分)

1 以下程序的功能是:从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。请填空。 #include \stdio.h\ main()

{ int n=0,i; float x[1000],sum=0.0,ave,a;

printf(\Enter mark:\\n\); scanf(\%f\,&a); while(a>=0.0 && n<1000)

{ sum+= 【1】 ; x[n]= 【2】 ; n++; scanf(\%f\,&a);

}

ave= 【3】 ; print(\Output:\\n\); printf(\ave=%f\\n\,ave);

for(i=0;i

2 以下程序的功能是求出矩阵x的上三角元素之积。其中矩阵x的行列数和元素的值均由键盘输入。请填空。

#define M 10

17

main()

{ int x[M][M]; int n,i,j; long s=1; printf(\Enter a integer(<=10):\\n\); scanf(\%d\,&n);

printf(\Enter %d data on each line for the array x\\n\,n); for( 【1】 )

for(j=0;j

for( 【2】 ) 【3】 ; printf(\%ld\,s); }

3 以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。请填空。

main()

{ int a[ 【1】 ]={1,10,20,30,40,50,60,70,80,90},x,i,p; scanf(\%d\,&x); for(i=0,p=10;i<10;i++)

if(x=p;i--) a[i+1]=a[i]; 【3】 ;

for(i=0;i<=10;i++) printf(\]\\n\,a[i]); printf(\\\n\); }

4 以下程序的功能是:将t数组的内容连接到s数组内容的后面,使s数组保存连接后的新字符串。

main()

{ static char s[30]=\abcdefg\,t[]=\abcd\; int i=0,j=0; while(s[i]!='\\0') 【1】 ;

while(t[j]!='\\0') { s[i+j]=t[j]; j++; } 【2】 ; printf(\%s\\n\,s); }

函数

一 单项选择题(每题2分,共40分) 1 以下正确的函数定义是___。

A double fun(int x,int y) B double fun(int x,y) { z=x+y; return z; } { int z; return z; } C fun (x,y) D double fun(int x,int y) { int x,y; double z ; { double z; z=x+y; return z; } return z; }

2 以下正确的说法是___。

A 实参和与其对应的形参各占用独立的存储单元 B 实参和与其对应的形参共占用一个存储单元

C 有当实参和与其对应的形参同名时才共占用相同的存储单元 D 形参是虚拟的,不占用存储单元

18

3 若调用一个函数,且此函数中没有return语句,则正确的说法是___。

A 该函数没有返回值 B 该函数返回若干个系统默认值 C 能返回一个用户所希望的函数值 D 返回一个不确定的值 4 以下正确的描述是___。

A 函数的定义可以嵌套,但函数的调用不可以嵌套 B 函数的定义不可以嵌套,但函数的调用可以嵌套 C 函数的定义和函数的调用均不可以嵌套 D 函数的定义和函数的调用均可以嵌套

5 若用数组名作为函数调用的实参,传递给形参的是___。

A 数组的首地址 B 数组中第一个元素的值 C 数组中的全部元素的值 D 数组元素的个数 6 以下不正确的说法是___。

A 在不同函数中可以使用相同名字的变量 B 形式参数是局部变量

C 在函数内定义的变量只在本函数范围内有定义

D 在函数内的复合语句中定义的变量在本函数范围内有定义 7 已知一个函数的定义如下:

double fun(int x, double y) { ?? } 则该函数正确的函数原型声明为___。

A double fun(int x,double y) B fun(int x,double y) C double fun(int,double); D fun(x,y); 8 关于函数声明,以下不正确的说法是___。

A 如果函数定义出现在函数调用之前,可以不必加函数原型声明

B 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明 C 函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查 D 标准库不需要函数原型声明

9 调用函数的实参与被调用函数的形参应有如下关系___。

A 只要求实参与形参个数相等 B 只要求实参与形参顺序相同 C 只要求实参与形参数据类型相同 D 上述三点均需具备 10 凡在函数中未指定存储类别的变量,其隐含的存储类别是___。

A 自动 B 静态 C 外部 D 寄存器 11 在源程序的一个文件中定义的全局变量的作用域是___。

A 在本文件的全部范围 B 该程序的全部范围

C 一个函数的范围 D 从定义该变量的位置开始至该文件的结束 12 下列程序运行后的输出的数据是___。

int sum(int n) { int p=1,s=0,i;

for(i=1;i<=n;i++) s+=(p*=i); return s; } main()

{ printf(\sum(5)=%d\\n\,sum(5)); }

A sum(5)=151 B sum(5)=152 C sum(5)=153 D sum(5)=155 13 下列程序运行后的输出结果是___。

19

搜索更多关于: C语言程序设计习题集及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

for(i=0;i<3;i++) scanf(\%d\,x[i]); printf(\===\\n\,x[0][0],x[0][1],x[1][0]); } 若运行时输入:2 4 6,则输出结果是___。 A 2 0 0 B 2 0 4 C 2 4 0 D 2 4 6 16 下列描述不正确的是___。 A 字符型数组中可以存放字符串 B 可以对字符型数组进行整体输入和输出 C 可以对整型数组进行整体输入和输出 D 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 17 对于以下定义,叙述正确的是___。 char x[]=\bcdef\char x[]={'a','b' 'c

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com