科目二试题

int main()
{
    int i = 1;
    int j = 0;
    while (i <= 10) {
        i++;
        if (i % 2 != 0) {
            break;
        }
        j++;
    }
    printf("%d %d\n", i, j);
    system("pause");
    return 0;
}

答案: 3 1

int  x = 3;

#define ADD(x,y)  x * y

int main()
{
    int x = 2;
    int y = 3;
    int res = ADD(x, y);
    printf("%d\n", res);
    system("pause");
    return 0;
}

答案是 6int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    if (a = 1) // if(a=1)实际上等于两个操作,
                         1. a = 1
                         2. if(a)
                             那么if(1)其实就是if(true)就是条件为真。
        b++;
        c++;
    else  d++;

    printf("%d %d %d %d\n", a,b,c,d);
    system("pause");
    return 0;
}

a = 1 是先给a 赋值,然后判断a的值,非0则执行if后紧跟的语句;若为0 则执行else后跟的语句;
这里a赋值1,非0 因此执行bc 赋值语句
结果1 1 1 0 不知对不对

if(a == 1) 判断 a的值和数字1的大小   
if  (a =='1') 判断a的值和字符1的大小  ‘1’ 字符变量 
 ”1“是字符串

while(a) 就是 a!=0  while(!a)  当a的值取反不为0进行循环
int main()
{
    int res;
    int a = 2;
    int b = 3;
    res = 3 * (a == b) ? a : b;
    printf("%d\n", res);
    system("pause");
    return 0;
}   答案 = 3;为啥?

乘法优先级高于三目运算符  a== b false == 0 

1.isalpha(),用来判断一个字符是否为字母,如果是字符则返回非零,否则返回零。

2.isalnum(),用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~z||A~Z||0~9。是返回非零,不是返回03.islower(),用来判断一个字符是否为小写字母,也就是是否属于a~z。是返回非零,不是返回04.isupper(),用来判断一个字符是否为大写字母。是返回非零,不是返回05. char c = toupper(a),a为字符时,如果a是小写字母则将其转换为大写字母,否则不变。a为数字则将其按ASCLL码转换为对应字符。(其实即使a是字符,输入之后还是会将其转换为int类型)

6.char c=tolower(a),a为字符时,如果a是大写字母则将其转换为小写字母,否则不变。a为数字则将其按ASCLL码转换为对应字符。

7.isdigit(),用来判断一个字符是否为数字,如果是数字则返回非零,否则返回零。

8.to_string(),将数字转换为字符串,这里注意如果是浮点型数转字符,会将精度范围内小数点后的数全部显示出来

int main()
{
    char* line = "This is a test";
    char ch;
    int Len = strlen(line);
    printf("%d\n", Len);//14
    int len = 0;
    int i = 0;
    while ((ch = line[++i] != '\0')) {
        if (ch == 'a') 
            continue;
        len++;
        
    }
    printf("%d\n", len);//13

    system("pause");
    return 0;
}

你可能感兴趣的:(c,C)