0],表达式*(p+n)中的 n要求不能小于 20,也不能大于 79。最后,c语言规定数组元素的下标从0开始顺序编号,所以选择③才是错误的叙述。
2.填充题 填充题要考核的内容与选择题的考核内容基本相同,但考核的形式不同。填充题的试题多数是从基本概念儿语言关于数据类型、程序对象、程序结构等的规定、c程序设计基本技巧等引伸的具体应用。如c语言规定每个字符占一个字节,每个字符串除存储它所包含的字符外,在字符串最后一个字符之后还存有一个字符串结束符。对于这样两个基本概念和规定,填充题可能是问具体的一个字符和一个字符串各占多少个字节等。因填充题是概念或规定的具体应用,解答的难度也就比选择题的要大,不可能有猜得分的机会。
【例3】下列函数的功能是统计并返回形参指针s所指向的字符串所含字符’a’的个数。试完成程序,写出应填写在程序空框中的代码。 int counts(char *s) { int n; for( n=0;。 ; s++) if(*s==’a’)n++; return n; }
为统计字符指针s所指字符串包含的某字符的出现次数,必须用一个循环顺序考察整个字符串。由从指针s所指字符串的首字符开始,每考察一个字符后,指针s后移一个字符位置,考察循环直至字符率结束终止。所以填写在空框中的正确代码可写成* s! =’\ 0’。由于字符串束符’\ 0’的代码为 8位全0,其值为 0,正确解答也可写成* s!= 0,或更简洁地写成*s。
【例4】在内存中存储’a’要占用____字节,存储"a"又要占用____字节。
由于c语言规定字符只占1个字节,一个具体的字符当然也只占1个字节。字符串”a”要有1个字节用于存储字符’a’,另需要1个字节存储字符串的结束符,所以它要占用连续的2个字节。
【例5】设整型变量a、b的值均为3,执行语句: b= a++, b++, ++a;
后,a的值为____,b的值为____。 该试题的表达式书写形式一般不会直接出现在实际应用程序中,但作为考核考生对有关表达式的计算规则,也不失为是一个很有意义的试题。赋值表达式自右至左计算,而逗号运算符的优先级最低,并且逗号表达式自左至右逐一计算,并以最后子表达式的值为逗号表达式的结果。上述表达式的计算顺序可用以下3