c语言 错题本


faa29498188b4f0b861c80f721255b32.jpg         

本题答案是D。A:字符串的比较并不需要字符个数相同。B:字符串的大小并不是由字符的个数决定的。C: 字符串小时″STOP[小时与″STOP′相等。这个描述是错误的, "□"是一个特殊字符,所以这两个字符串并不相等。D,字符串的比较是按照字符的ASCII码值进行比较, "a"的ASCII码值小于"e", 所以字符串‖That″小于字符串。″The″


6c3d6c1bb90d42ebacb7578646da4766.jpg

        正确答案:C解析:在C语言中,字符串以’\0’作为结束符,因此数组x的长度为7+1=8, 而数组y的长度等于7。


a3f67026a56548b3864f5aa00e63fa4e.png

 正确答案:A


5eb6e84c6b214515938827f2c2fcea12.png

C

本题综合考查了输入函数的使用。scanf函数会将空格视为分隔符, getchar函数只能输入单个字符,getc函数是文件操作函数, 显然都不符合题意。通过gets函数输入字符串时, 输入的空格被认为是字符串的一个字符。


5c61f9f8ffa149da9618923e51aa32a6.png

 在函数调用时, 实参(传递给函数的值)会被复制到函数的形参(函数定义中的参数变量)中。这个过程通常是通过将实参的值复制到形参所在的内存位置来实现的。

每个形参都有自己的内存空间,因此实参与其对应的形参各占用独立的存储单元。修改形参的值不会影响实参的值, 反之亦然。这样做的好处是保证函数的参数传递是安全的, 不会影响到调用函数时传入的实际数据。

选项A是错误的, 因为实参与形参在内存中通常是独立的。

选项C也是错误的, 无论形参是否与实参同名, 它们都是独立的存储单元。

选项D也是错误的,形参是在函数调用时为实参分配内存而存在的, 并且在函数调用结束后会被释放,所以它们占用了内存单元。

正确的说法是B. 实参与其对应的形参各占用独立的存储单元。综上所述, 本题选B。


b125ec423f6d4f4d9d70e7bbe78f8866.png

C

为定义一个指针数组,也就是数组里的元数为指针

 


 

efc5e7bde43e47bdb61399802d5be89e.png

 

aa20c0611df34d9f86d90876180c49db.png 


8a78e7efe7d14587bceb129ea146848e.png 

d4cf5d5d027f4edb9c45d99c4b239c9d.png 


1147abb669104c0b9bde538da87adba1.jpg

313a63ddfb0f440cac3e476fe52beba4.png 


 

 

 

 

 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现错题记录功能,可以使用文件操作来存储和读取错题信息。以下是一个简单的 C 语言代码示例: ```c #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 100 // 最大错题数 // 定义结构体存储错题信息 typedef struct { int question_num; // 题号 char question[100]; // 题目 char answer[100]; // 答案 char explanation[200]; // 解释 } Question; // 存储错题信息到文件 void save(Question* questions, int size, char* file_name) { FILE* fp; fp = fopen(file_name, "w"); if(fp == NULL) { printf("无法打开文件\n"); exit(1); } for(int i = 0; i < size; i++) { fprintf(fp, "%d %s %s %s\n", questions[i].question_num, questions[i].question, questions[i].answer, questions[i].explanation); } fclose(fp); } // 从文件中读取错题信息 void load(Question* questions, int* size, char* file_name) { FILE* fp; fp = fopen(file_name, "r"); if(fp == NULL) { printf("无法打开文件\n"); exit(1); } int i = 0; while(fscanf(fp, "%d %[^\n] %[^\n] %[^\n]\n", &questions[i].question_num, questions[i].question, questions[i].answer, questions[i].explanation) != EOF) { i++; } *size = i; fclose(fp); } int main() { Question questions[MAX_SIZE]; int size = 0; // 读取文件中的错题信息 load(questions, &size, "questions.txt"); // 在此处添加代码,实现错题记录功能 // 存储错题信息到文件 save(questions, size, "questions.txt"); return 0; } ``` 在上述代码中,我们定义了一个 `Question` 结构体来存储每一道错题的信息。`save` 函数将错题信息存储到文件中,`load` 函数从文件中读取错题信息。你可以在 `main` 函数中添加代码来实现错题记录功能,比如让用户输入题目和答案,将输入的信息存储到结构体数组中。最后,调用 `save` 函数将更新后的错题信息存储到文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值