第一套二级错误点总结

1、算法中,二分查找法<堆排序法<(顺序查找法、冒泡排序、快速排序法)。
2、在数据库的三级模式中,外模式(又称为用户模式和子模式),外模式可以有多个,而内模式和概念模式只能有一个。
3、学生选课成绩表的关系模式是SC(S#,C#,G)其中#S为学号,C#为课号,G为成绩,检索课号为2的成绩不及格的学生的学号()
在这里插入图片描述
4、用c语言编写的程序为源程序,它以ASCII代码存放在一个文本文件中。
5、c语言源程序经过编译之后生成后缀为.obj的目标程序。
6、不是每一条c语言语句都能欧被转换成二进制的机器指令,因为有些是不可以执行。
7、c程序经过编译,连接步骤之后才能形成一个执行的二进制机器指令文件。
8、e的x次方用的是exp(x)表示。
9、%首先是对整型的数据,百分号两边是必须是整型数据
10、double a=22,int i=0,k=18;
i=a%11是不对的,因为a是双精度型,不是整型,而i是整型,并且我们不能把高精度的转化为低精度的数据类型。
11、关于逻辑运算的两边我们规定只要是任何合法的表达式。
12、当程序的开头包含文件stdio.h时,可以给指针变量赋值NULL.
13、改变形参的值,不会改变对应实参的值。
14、函数可以返回地址值。
15、“二维数组可以省略行。因为二维数组存储的时候是“先行后列”,如果不指定列数,就不能知道一行放几个数据,只要知道了列数,排头就可以知道一共能放多少行,二维数组可以省略行。
16、a=8,a>>3是什么意思呢?(相当于是a除以8等于1)。
位运算

  位运算的运算分量只能是**整型或字符型数据**,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。
    
    &(按位与)|(按位或)^(按位异或)~ (按位取反)。
    其中,按位取反运算符是单目运算符,其余均为双目运算符。
    位运算符的优先级从高到低,依次为~&^|1、按位与运算符(&)
     0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1。即同为 1 的位,结果为 1,否则结果为 02(按位或运算符(|)
     0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1,即只要有1个是1的位,结果为1,否则为03、按位异或运算符(^)   
     0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0,即相应位的值相同的,结果为 0,不相同的结果为 14(4)按位取反运算符(~),取反 ~是一元运算符,用来对一个二进制数按位取反,即将01,将10。例如, ~7的结果为0xfff85(1)左移运算符(<<),如4 << 2,结果为16。
         (2)右移运算符(>>)例如8>>3,结果为18的二进制数为1000,向右移动则为1
 17、在c语言中,预处理命令行都以#开头
 18、预处理命令行可以出现在c语言源程序的起始位置。
 19、#include<stdio.h>必不一定放在c程序的开头。
 20、c语言的预处理能实现宏定义和条件编译功能。
 21、在c语言中,只能够用于局部变量的储存类型的是(auto)和(register)

22、


#include<stdio.h>
main()
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++)
if(s[i]='0'&&s[i]='9') n++;
printf("%d\n", n);
程序运行后的输出结果是____B__。

A.0
B.3
C.7
D.8`
[解析]s[i]!=0代表‘\0,‘\0’是一个字符,ascII 码 为0。
当遇到'\0'时,for循环终止,所以最后输出n值为3,而本身字符串当中的0是代表的是‘0’表示的话应该该是s[i]!='0'。
字符串是由数字、字母、下划线组成的一串字符。

23、字符串的输入方式:

 逐个字符处理:
> #include<stdio.h>
>  int main() 
> {
>     char ch[5]; 
>     for (int i = 0; i < 5; i++)
>     {
>          scanf("%c", &ch[i]);
>      }
>      for (int i = 0; i < 5; i++)
>      {
>          printf("%c", ch[i]);
>       }
>     
>   }
说明:字符串中有空格也可以正确的输入整串
整个字符串处理:
#include<stdio.h>
int main()
{
 char ch[5];
 scanf("%s", ch);
 printf("%s", ch);//无需
 return 0;
}
说明:以字符串为单位处理时,直接使用数组名,无需&
输入字符串时,遇到回车或空格,输入结束,并且自动在串后面加上结束标志'\0'

gets与puts的输入输出
#include <stdio.h>
#define STLEN 81
int main(void)
{
    char words[STLEN];
     
    puts("Enter a string, please.");
    gets(words);  // typical use
    printf("Your string twice:\n");
    printf("%s\n", words);
    puts(words);
    puts("Done.");
    
    return 0;
}

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

结果是1,2

25、
在这里插入图片描述

26、在这里插入图片描述
在这里插入图片描述
static作为全局变量是保持上一次的值,而作为局部变量则是会动态变化。
int (*t)[N]的意思是,t是一个指向 在内存中连续存储的 N个int数据所组成的 块的指针。在函数调用的是时候传递了指针,所以可以通过指针改变二维数组中的数值.


版权声明:本文为unimath原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。