河北专接本C语言错题整理

基础

  • scanf(“%s”,a); 输入空格结束,如果需要输入空格,应使用 gets(a);
  1. 单目运算符++ -- 的运算对象可以为 int float double char

  2. 数组下标越界不会报错,只会提示警告,但赋初值越界报异常
    int a[5]={1,2,3,4,5,6}; // 报错
    a[100]=1; // 警告,但不影响程序执行

  3. 当函数调用时,实参形参各占一个独立的存储单元

  4. 类型相同的两个指针变量可以进行的运算为:< = -

  5. 带参数的宏定义中参数是没有类型的,存在不以 .h 为后缀#include 命令包含的头文件

  6. C语言的不足

    • 数据类型检查不严格
    • 表达式容易出现二义性
    • 不能自动检查数据越界
  7. %3d右对齐,%-3d左对齐

  8. C语言函数声明可以出现多次

  9. C语言局部变量的缺省存储类型为auto

  10. 预处理命令在源程序编译之前处理

  11. 所有预处理命令都是以#开头

  12. 预处理命令包括:宏定义文件包括条件编译

  13. 5%-3=2 -5%3=-2:即取模运算结果是否带符号,取决于前面的数

  14. 存储类型:在这里插入图片描述

  15. 必须得看这里
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

转义符

\b :退格,将当前光标前移,然后输出
printf(“123\b”); // 123
printf(“12\b3”); // 13

函数

  1. int strcmp(str1,str2);
    负数:st1 < str2
    正数:str1 > str2
    0:相等

编程题:

  1. 编写 strcmp(char *p1,char *p2); 相同返回0,不同返回相差(*p1-*p2)
  2. 进制转换
    
    // 十进制转任意进制
    void fun(int num,int x){
    	char s[]="0123456789ABCDEF";
    	if(num>=x){
    		fun(num/x,x);
    	}
    	printf("%c",s[num%x]);
    }
    
    //======================  方法2  =============================================
    void main(){
    	int base,n,num[20],i=0;
    	scanf("%d",&n);		// 数字
    	scanf("%d",&base);	// 几进制
    	char s[]="0123456789ABCDEF";
    
    	while(n>0){
    		i++;
    		num[i]=n%base;
    		n/=base;
    	}
    	for(int j=i;j>=1;j--){
    		printf("%c",s[num[j]]);
    	}
    }
    
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值