首先今年C语言复试真题比较简单,链表和文件两章都没有考,还有二级指针也没考。
题型有选择、程序填空、程序改错、程序设计,几种题型。
一、选择题
1.关于和表达式|a|>10相同的选项
2. char xx[]="abcdef"; char yy[]={'a','b','c','d','e','f'}; 问数组xx和yy分别占用的字节。
其他的没什么印象了。
二、填空题(原题记不清,都是类似的)
1. 关于单值传递的问题, 改变形参的值,并不能改变实参的值。
2. int a=1,b=2,c=3,d=4,m; m=a<b?a:b; m=m<c?m:c; m=m<d?m:d; 求m的值。
3. char a=9,b=6,c; c=a|b; 求c的十进制值;
4. int a=5, *p; p=&a; 已知a的地址是2000; 求*p和&(*p)的值。
5. 宏定义的题目 例如#define f(x) 3*x和#define f(x) 3*(x) 得出的值可能会不同。
6. 关于结构体变量占用字节的问题, struct per{ char a[6],int b[4]}t; 问变量t占用的字节。
7. int a=97,b=98; printf("%d,%c");
三、程序改错
都是一些 条件表达式错误 的问题 例如大于小于号问题,忘记定义变量等。比较简单。
四、程序设计是两题28分。
1.已知一个二维矩阵 编写一个程序,求边界元素平方和
2.已知一个字符串,让原地删除数字字符。例如 char a[]="anf3d45jk"; 让输出"anfdjk"。
viod fun(char *p)
{
char *str1,*str2;
/******start*****/
/********end*******/
}