修改CMakeList.txt
cmake_minimum_required(VERSION 3.17)
get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)
string(REPLACE " " "_" ProjectId ${ProjectId})
project(helloworld C)
set(CMAKE_C_STANDARD 11)
file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.c")
foreach(file ${files})
get_filename_component(name ${file} NAME)
add_executable(${name} ${file})
# add_executable(helloworld main.c demo_char.cpp)
endforeach()
整型
整型长度与平台
相关,可用sizeof查看
#include <stdio.h>
#include <limits.h>
int main() {
for (int i = 0; i < 5; ++i) {
printf("Hello, World C!\n");
}
short int short_int = 0; //int 可省略
int i = 0;
long int long_int = 0;
long long int longlong_int = 0;
unsigned int unsigned_i = 0;
//:%d decimal,\n换行
printf("short int:%d\n", sizeof(short int));
printf("int:%d\n", sizeof(int));
printf("long int:%d\n", sizeof(long int));
printf("long long int:%d\n", sizeof(long long int));
//显示最大值,%u 无符号数.无符号时与有符号相比,替换d为u
/*
* &hd short decimal
* %u unsigned
* &d decimal
* &ld long decimal
* &lld long long decimal
* &hu unsigned short decimal
* \n new line
* &s String
*/
printf("max int:%d\n", INT_MAX);
printf("max unsigned int:%u\n", UINT_MAX);
return 0;
}
char
#include <stdio.h>
#include <vcruntime.h>
int main() {
/*
char是存字符的,本质上也是整数
C语言中使用ASCII字符集,
\n newline
\b backspace
\r retturn
\t table
\' '字符字面量
\" "字符字面量
*/
char a = 'a';//a:97
char char_1 = '1';//49
char i = 0;//0 ,NULL也是0
char newline = '\n';//转义符
char char_1_escape_oct = '\61';//八进制的49 ,可以用八进制表示一个字符
char char_1_escape_hex = '\x31';//16进制表示
//char 格式化 %c
printf("char a:%c\n", a);
printf("char a:%d\n", a);
printf("char char_1:%d\n", char_1);
printf("char i:%d\n", i);
printf("char_1_escape_oct i:%d\n", char_1_escape_oct);
printf("char_1_escape_hex i:%d\n", char_1_escape_hex);
//since c92
// wchar_t zhong = L'中' ; //字符集问题,可能导致报错,windows 默认是GBK,
//字符串
// char *String = "中" ;
return 0;
}
浮点类型
#include <stdio.h>
#include <limits.h>
int main() {
float a_float=3.14f;
printf("size of float:%d\n",sizeof(float));
double a_double=3.14;
printf("size of double:%d\n",sizeof(double));
return 0;
}