文档详情

C语言上机练习5.doc

发布:2017-01-05约6.43千字共10页下载文档
文本预览下载声明
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; iM; i++) for(j=0; jN; 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 stdio.h #include string.h main( ) { char c[80]; int i, sum=0; gets(c); for(i=1;i80; 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)(x4);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相等,应当使用( )。strcmp() =,0;,-1;,1 A. if (s1 == s2) B. if (s1 = s2) C. if (!str
显示全部
相似文档