c语言 想输入非数字是报错误,C语言上机练习5C言上机练习5.doc

C语言上机练习5C言上机练习5

C语言上机报告5 数组2

上机内容

找出下列程序中的错误并改正

1) /*有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。*/

#include "stdio.h"

#define M 3//无分号

#define N 4

void main( )

{ int max,i,j,r,c;

int a[M][N]={{323,94,-10,218}, {3,9,10,-83}, {45,16,44,-99}};

max=a[0][0];r=0;c=0;

//r,c 无初值,当if ( a[i][j]>max)不成立,则不会返回r=0,c=0,而是原来内存单元中的数。

for(i=0; i

for(j=0; j

if (a[i][j]>max)

{ max= a[i][j];r=i;c=j;}

printf("max=%d,行=%d,列=%d\n",max,r,c);

}

2) 输入一串字符,计算其中空格的个数。

#include

#include

main( )

{ char c[80];

int i, sum=0;

gets(c);

for(i=1;i<80; i++)

if(c[i] ==0x20)//单字符‘空格键’,单字符用‘’,字符串用“”

sum=sum+1;

printf("空格数为:%d \n", sum);

}

上机作业

完成下列选择题

1、 有语句char str1[10],str2[10]={“china”};则能将字符串china赋给数组str1的正确语句是________。

A、str1={"china"}; B、strcpy(str1,str2);

C、str1=str2; D、strcpy(str2,str1);

2 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是

A) 3 B) 6 C) 10 D) 20

3 对于for(表达式1;;表达式3)可理解为( )

A)for(表达式1;1;表达式3)

B)for(表达式1:1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

4、以下for循环的执行次数是( ).

for(x=0,y=0;(y=123)&&(x<4);x++);

A)是无限循环

B)循环次数不定

C)执行4次

D)执行3次

5 逻辑运算符两侧运算对象的数据类型().

A)只能是0或1 B)只能是0或非0正数

C)只能是整型或字符型数据 D)可以是任何类型的数据

6、设有数组定义: char str[ ]=“Chinae”; 则数组 str所占空间为

A) 5个字节 B)6个字节 C) 7个字节 D) 8个字节

7、下列描述中不正确的是

A) 字符型数组中可以存放字符串

B) 可以对字符型数组进行整体输入、输出//gets(),puts()

C) 可以对整型数组进行整体输入、输出

D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值//切记

8、 以下定义语句,char b=‘\123’;变量b __

//八进制\000,同时8进制只有数字0-7

A) 包含4个字符 B)包含3个字符

C) 包含2个字符 D)包含1个字符

9、以下语句的执行结果是(以下□代表空格):

char s[10];

s="abcd";

printf("%s",s);

A) 输出abcd B) 输出a C) 输出abcd□□□□□ D) 编译不通过

10、以下各项是合法的C语言字符常量的是

A) ‘\oxef’ B) ‘db’ C) ‘\23’ D) “”

11、以下不能对二维整形数组a进行正确初始化的语句是:

A)int a[2][3]={0};

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

C) int a[2][3]={{1,2},{3,4},{5,6}}; //2行3列

D) int a[][3]={1,2,3,4,5,6};

12.判断两个字符串s1和s2相等,应当使用( )。A.if (s1 == s2) B. if (s1 = s2)

C.if (!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值