内容发布更新时间 : 2024/11/5 13:28:32星期一 下面是文章的全部内容请认真阅读。
第四章
一、简答题
1. 参考书上68页,69页,72页 2. 函数的返回值,函数的形参
3. 实参与形参之间是值传递的关系 二、填空题 1. 库 用户自定义 2. 3 3. gets() 4. strlen() 5. strcpy() 6. 全局 局部
7. 有返回值 无返回值 8. return 9. void 10. 前 11. 调用 三、改错
1. 表示不同的变量
2. 按照调用的先后顺序执行 3. 各自有自己的存储单元 4. 可以没有形参
5. 分配在动态存储区
6. 以该函数定义的返回值为准 7. 嵌套调用指函数调用函数 四、单选 1-5 BDACC 6-10 DAACC 11-13 BCC 五、程序分析题 1. j str[j-1]
2. 本题程序是错的,第五行,for(I = m + 1 ; i++)这里少东西,所以跳过 3. i < n x = fun(4) 4. 1: a = 1 , b = 1 2: a = 2 , b = 2 3: a = 3 , b= 3 六、编程题 1.
int fun(int year) {
if( year % 400 == 0|| (year % 4 == 0 && year % 100)) return 1 ; else return 0 ; }
2.
#include
void fun1(int a , int b , int c) {
float t = sqrt(b * b - 4 * a * c) ;
printf(\}
void fun2(int a , int b , int c) {
printf(\}
void fun3(int a , int b , int c) { printf(\该方程没有实根\}
int main(int argc , char *argv[]) { int a , b , c ;
scanf(\ if(b * b - 4 * a *c > 0) fun1(a , b , c) ;
else if(b * b - 4 * a * c == 0) fun2(a , b , c) ; else fun3(a , b , c) ; return 0 ; } 3.
#include
int fun(int a[] , int n) { int i , j = 0 ;
for(i = 1 ; i < n ; ++i) if(i % 3 == 0 && i % 7 == 0) a[j++] = i ; return j ; }
int main(int argc , char *argv[]) { int a[100] , n , m , i ;
}
scanf(\m = fun(a , n) ;
for(i = 0 ; i < m ; ++i) printf(\return 0 ;
第五章
一、简答
1. 不一定,这要看指针的类型,比如 int * p ,则p + 1 就增加两个字节 2. 定义指针时表示定义的变量是指针类型,引用指针时,表示指针指针指向的变量
3. p + n , p – n ,其中n是int类型 二、填空题 1. 地址 2. & * 3. 指针 4. *p 5. 1006 6. malloc 7. a+i *(a+i) 8. 3 9. ?b? ?\\0? 三、改错题
1. 只能存放同类型的变量的地址,比如int *只能存放int型变量的地址 2. 这个说法是正确的,没有错误
3. 不是,指的是指针所指向的变量的类型 4. 只能是同类型的指针或者&a这样的地址值 5. 是可以改变的 四、单选 1-5 CDDAA 6-10 BCDDD 五、程序分析题 1. *x t 2. r + b[u] *x 3. 10 4. CDG 5. 80,-20 6. 5 7. 55
1711717 六、编程题 1.
#include
int main(int argc , char *argv[]) { char s[100] ; int i ; gets(s) ;
for(i = 0 ; s[i] != '\\0' ; ++i) ; printf(\ return 0 ; } 2.
#include
int fun(char *s , char c) { int count = 0 ;
for( ; *s != '\\0' ; ++s) if(*s == c) ++count ; return count ; }
int main(int argc , char *argv[]) { char s[100] , c ; gets(s) ;
c = getchar() ;
printf(\ printf(\ return 0 ; } 3.
#include
int main(int argc , char *argv[]) { char s[100] ;
int i , n1 , n2 , n3 , n4 , n5 ;
n1 = n2 = n3 = n4 = n5 = 0 ; gets(s) ;
for(i = 0 ; s[i] != '\\0' ; ++i) { if(s[i] >= 'A' && s[i] <= 'Z') ++n1 ; else if(s[i] >= 'a' && s[i] <= 'z') ++n2 ; else if(' ' == s[i])
}
}
++n3 ;
else if(s[i] >= '0' && s[i] <= '9') ++n4 ; else ++n5 ;
printf(\大写字母:%d\\n\printf(\小写字母:%d\\n\printf(\空格:%d\\n\printf(\数字:%d\\n\
printf(\其他字符:%d\\n\return 0 ;
第六章
一、简答题 1
比如定义
struct Student {
char name[100] ; int age ; }stu ;
则stu.name , stu.age 即可引用结构体成员
2. 不是必须为所有的成员赋初值,因为语法上没有强制要求。 二、填空题
1. 21 &a[0] p->x a[1] 2. 1 3
3. “ab” “cd” 三、改错题 1. 可以同名 2. 可以含有 3. 不可以 四、单选题 BACBDD
五、程序分析题 1. Zhao 2. 10 x 3. 200 y 4、-> .
5、 36 40 20