2013自考“高级语言程序设计”习题答案详解(15)
(3) 用do-while循环实现的程序
# include
main() /*用do-while循环*/
{ int i, k=0 ;
i=1;
do{
if(k++%5==0) /*每行五个*/
printf(“\n”);
printf(“=*==]”,i,i,i*i);
1++;
} while(<=100);
printf(“\n”);
}
4.1 单项选择题
1.若有下列说明,则数值为4的表达式是( )
int a[12]={ l,2,3,4,5,6,7,8,9,10,11,12 };
char c=‘a’,d, g;
①a[g-c] ②a[4]
③a[‘d’-‘c’] ④a[‘d’-c]
「解」数组元素的下标自0开始顺序编号,值为4的元素是a[3].所以只有下标表达式的值为3的才是正确的。下标表达式g-C中的的变量g和c的值是还未被设定的,其值不确定。a[4]的值为5,下标为4是不对的。‘d’-‘c’的值为1,a[l]的值是2,所以也是不对的。变量c的值为‘a’ ,‘d’-c=3,所以正确解答是④。
2.设有定义:“char s[12]={”string“};” 则printf(“%d\n”,strlen(s));的输出是( )
① 6 ② 7
③11 ④ 12
「解」在C语言中,字符串是指在有效字符之后有字符率结束标记符的字符列,并约定字符串的长度是指字符率中有效字符个数,不包括字符串的结束标记符。存放于字符数组s中的字符串是“string”,该字符串的长度为6,所以输出该字符串的长度应是6.正确的解答是①。
3.下列语句中,正确的是( )
① char a[3][]={‘abc“,’1‘}; ② char a[][3]={’abc‘,’l‘};
③char a[3][]={‘a’,“1”}; ④char a[][3]={“a”,“1”};
「解」如定义数组时有初始化,其最高维的长度可以省缺,由系统根据初始化时的初值个数确定,而其它维的长度是不可以缺省的。对二维字符数组的初始化,可以按行用字符串对其初始化,也可以按二维数组元素的存储顺序逐一用字符对其元素初始化。在供选择解答①和③中,有不是最高维的长度被缺省,所以是错误的。在供选择解答①和②中,还将字符串常量写作‘abc’,这也是错误的。只有④,用字符率按行给二维字符数组初始化,这才是正确的。正确构解答是④。
4.合法的数组定义是( )
①int a[]={“string”} ②int a[5]={0,1,2,3,4,5};
③char a={“string”} ④char a[]={0,1,2,3,4,5};
「解」①错误的原因是整数数组不可以用字符串对其初始化。②错误的原因是,数组初始化时,初始化指定的值的个数多于数组的元素个数。③错误的原因是,能用字符串初始化的只;有字符指针变量,或字符数组。字符率不能对其它类型的变量初始化,包括字符变量。④是正确的,因为字符数组可以用小整数(作为字符的ASCII代码值)对其元素初始化。
5.语句“printf(”%d\n“strlen(”ats\nol2\1\\“));”的输出结果是( )
①11 ②10 ③ 9 ④ 8
「解」字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符开头的转义字符。在字符串“abs\no12\11\\” 中,有三个转义字符,它们是\n、\1、\\,所以该字符串的有效字符个数是9.所以正确的回答是③。
最新资讯
- 备考资料:2024年自考《英语二》阅读判断模拟试题2024-04-05
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——简答题2024-03-23
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——论述题2024-03-21
- 2021年10月自考《思修》考前2天冲刺卷2021-10-14
- 2021年10月自考《马克思主义基本原理概论》考前2天冲刺卷!2021-10-14
- 2021年10月自考《中国近现代史纲要》模拟题(五)2021-08-01
- 2021年10月自考《中国近现代史纲要》模拟题(四)2021-07-31
- 2021年10月自考《中国近现代史纲要》模拟题(六)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(三)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(二)2021-07-29