找回密码
 注册

QQ登录

只需一步,快速开始

查看: 814|回复: 0

大工20春《c&c++语言程序设计》八

[复制链接]
发表于 2021-2-25 12:33:33 | 显示全部楼层 |阅读模式
C/C++语言程序设计辅导资料八
一、主题:数组二、学习时间:2020年5月18日-5月24日“不忘初心、牢记使命”主题理论学习:
“一带一路”是促进共同发展、实现共同繁荣的合作共赢之路,是增进理解信任、加强全方位交流的和平友谊之路。中国政府倡议,秉持和平合作、开放包容、互学互鉴、互利共赢的理念,全方位推进务实合作,打造政治互信、经济融合、文化包容的利益共同体、命运共同体和责任共同体。
摘选自《推动共建丝绸之路经济带和21世纪海上丝绸之路的愿景与行动》三、知识脉络:
第6章 数组
6.4 字符数组
6.5 数组应用四、学习要求:
掌握字符数组的定义及初始化方法
理解字符串的特点
掌握用字符数组存储及操作字符串的方法
掌握一维数组的基本应用
掌握二维数组的基本应用五、重点难点:
数组的定义及初始化
字符串的存储及遍历
排序算法六、主要内容:
1.字符数组
char 型数组的两个含义
存放字符的数组, 每个元素存储一个字符;
存放字符串的数组 string,该串中的每个字符存储在一个数组元素中,字符串的结尾用特定的字符串终止符’\0’表示。
字符数组的输入与输出
逐个字符输入输出
用格式符“%c”或字符IO函数
字符串输入输出
用格式符“%s”或字符串IO函数2.数组应用
一维数组案例分析
例. 编写程序统计学生对食堂满意程度的调查:假设抽查40个学生的问卷,满意度得分为(1~10),输出每个分数投票的人数。
参考答案:
学生打分数组  int anwsers[ 40 ] ;
得分情况数组  int counters [ 11 ]={0};
for(i =0~40)
     for( k = 1~10)
         if(anwsers[i]==k) {
             counters[ k ]++;
             break;
            }
二维数组案例分析
例. 计算每门课程的平均成绩:一个学习小组有5个人,每个人有3门课的考试成绩。

分析:
数据分析:
int score[3][5]存储五个人3门课的成绩。
float average[3]存储各门课平均成绩。
char name[3][10]存储各门课名称。算法描述:
1. 输出每门课程的名称及成绩(每门课一行)。
2. 计算每门课程平均成绩,即对每行计算平均成绩。
3. 输出每门课程平均成绩。七、习题:
1.下面程序的运行结果是()
       char ch[7]={"65ab21"};
       int i,s=0;
       for(i=0;ch[i]>='0'&&ch[i]<='9';i++)   
              s=10*s+ch[i]-'0';
           printf("%d\n",s);
A.12ba56
B.6521
C.6
D.65
答案:D2.下述对C语言字符数组的描述中错误的是() 。
A.字符数组可以存放字符串   
B.字符数组中的字符串可以整体输入、输出   
C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值   
D.不可以用关系运算符对字符数组中的字符串进行比较
答案:C3.不正确的赋值或赋初值的方式是() 。
A.char str[]="string";         
B.char str[7]={'s', 't', 'r', 'i', 'n', 'g'};
C.char str[10];str="string";
D.char str[7]={'s', 't', 'r', 'i', 'n', 'g', '\0'};
答案:C4.有下面的程序段,  则输出结果为( ) 。
char a[3], b[]=“china”;
a=b;  printf(“%s”,a);
A.运行后输出china
B.运行后输出ch
C.运行后输出chi
D.编译出错
答案:D5.判断字符串s1是否大于字符串s2,应当使用( ) 。
A.if (s1>s2)
B.if (strcmp(s1,s2))
C.if (strcmp(s2,s1)>0)
D.if (strcmp(s1,s2)>0)
答案:D6.数组char myArray[6]=”long\0 a”,则printf("%s",myArray)的输出结果是( )。
A.long a
B.long
C.lon
D.以上都不对
答案:B7.要为字符型变量a赋初值,下列选项中哪一个是正确的(    ).
A.char a=’\0’
B.char a=”3”
C.char a=A
D.前面都不对
答案:A8.下列各语句定义了数组,其中哪一个是不正确的( )。
A.char a[3][10]={"China","American","Asia"}
B.int b[2][2]={1,2}
C.float x[2][ ]={1,2,4,6,8,10}
D.int y[][3]={1,2,3,4,5,6};
答案:C9.下面叙述中,正确的有( )。
A.设变量定义为 char s[ ]="hello",则数组s中有6个元素.
B.已定义int w[5];程序中可以引用的数组元素分别是w[1],w[2],w[3],w[4],w[5].
C.已定义int n=4 ; 则执行语句float x[n]={1,2,3,4}; 后,x[2]的值是3 .
D.已定义int a[2][3]={1,2}; 则元素a[1][2] 的值是不确定的值.
E.以上答案都不对
答案:E10.若有以下说明和语句,则输出结果是()。
char str[ ]=”\”c:\\abc.dat\””;
printf(“%s”, str);
A.字符串中有非法字符
B.\”c:\\abc.dat\”
C.”c:\abc.dat”
D.”c:\\abc.dat”
答案:C南开答案可以联系QQ 761296021

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-3 23:47

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表