单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。
*** 作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。
程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。
程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。
编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。
二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。
C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。
下面是一个可以利用指针将两个字符串连接起来的 C 语言程序。该程序定义了一个子函数 `StrCat`,用于将两个字符串连接起来,并返回连接后的结果。主函数中,我们先从标准输入读入两个字符串,然后根据它们的长度调用 `StrCat` 函数,将它们连接起来并输出结果。```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
char* StrCat(char* s, char* t)
int main() {
char s1[MAX_LEN], s2[MAX_LEN]
// 从标准输入读入两个字符串
printf("请输入第一个字符串:")
fgets(s1, MAX_LEN, stdin)
printf("请输入第二个字符串:")
fgets(s2, MAX_LEN, stdin)
// 将短的字符串放在前面,然后连接两个字符串
if (strlen(s1) >strlen(s2)) {
char *t = s1
s1 = s2
s2 = t
}
StrCat(s1, s2)
// 输出结果
printf("连接后的字符串为:%s", s1)
return 0
}
char* StrCat(char* s, char* t) {
int i, j
// 找到 s 末尾位置
for (i = 0s[i] != '\0'i++)
// 将 t 中的字符复制到 s 的末尾
for (j = 0t[j] != '\0'j++) {
s[i + j] = t[j]
}
s[i + j] = '\0'
return s
}
```
在这个程序中,我们首先定义了子函数 `StrCat`,该函数接受两个指向字符数组的指针 `s` 和 `t`,将 `t` 中的字符连接到 `s` 的末尾,并返回连接后的结果。具体来说,我们首先找到 `s` 的末尾位置,然后使用循环遍历 `t` 中的每个字符,并将它们复制到 `s` 的末尾。
在主函数中,我们先从标准输入读入两个字符串,并使用 `strlen` 函数获取它们的长度。然后,我们判断哪个字符串比较短,将其放在前面,并调用 `StrCat` 函数将两个字符串连接起来。最后,我们使用 `printf` 函数输出连接后的字符串。
需要注意的是,在函数 `StrCat` 中,我们没有对输入数据进行任何检查(例如,字符串的长度是否超过了数组的大小等)。如果需要确保输入数据的有效性,可以在程序中添加相应的检查代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)